### Linux入门基础知识详解 Linux作为一款强大的开源操作系统,在服务器领域占据着极其重要的地位。对于初学者来说,掌握一些基本的Linux命令是十分必要的。本文将详细介绍Linux中的几个基础且常用的命令,帮助读者快速上手。 #### 1. `cd`(Change Directory) - **功能**:用于改变当前工作目录。 - **格式**: - `cd [directory]`:切换到指定目录。 - `cd`:默认切换到家目录。 - `cd ~`:切换到家目录。 - `cd ..`:切换到父目录。 - `cd -`:切换到上次所在的目录。 - **示例**: - `cd /root`:切换到 `/root` 目录。 - `cd ~`:切换到当前用户的家目录。 - `cd ../source`:切换到上级目录下的 `source` 盂录。 - `cd /user/local`:切换到 `/user/local` 目录。 #### 2. `ls`(List Directory Contents) - **功能**:列出目录内容。 - **格式**: - `ls [options] [file ...]` - 常用选项包括 `-a`、`-l`、`-r`、`-t` 和 `-R`。 - `-a`:显示所有文件及目录,包括隐藏文件(以`.`开头)。 - `-l`:以长格式列表显示,显示权限、链接数、用户、组、大小、时间等信息。 - `-r`:逆序显示输出。 - `-t`:按修改时间排序。 - `-R`:递归列出子目录下的内容。 - `-F`:在每个输出项后添加一个字符来表示其类型,如“/”表示目录,“*”表示可执行文件。 - **示例**: - `ls -ltrs *`:以长格式并按修改时间逆序列出当前目录下以`s`开头的文件。 - `ls -lR /bin`:递归地以长格式列出 `/bin` 目录及其子目录下的内容。 - `ls -AF`:列出当前目录下的所有文件和目录,并用特殊符号标记。 #### 3. `cp`(Copy) - **功能**:复制文件或目录。 - **格式**: - `cp [options] source target` - `-a`:保留源文件的属性(权限、时间戳等),相当于 `-dpR` 的组合。 - `-r` 或 `-R`:递归复制目录。 - `-f`:强制覆盖已存在的目标文件。 - `-i`:覆盖前询问用户是否确认。 - **示例**: - `cp *.c ./source`:将当前目录下所有 `.c` 文件复制到 `./source` 目录。 - `cp -as source temp`:将 `source` 目录递归复制到 `temp` 目录,并保留源文件的所有属性。 #### 4. `cat`(Concatenate) - **功能**:连接多个文件并打印到标准输出设备。 - **格式**: - `cat [options] [file ...]` - `-n` 或 `-number`:对输出的每一行标号。 - `-b` 或 `-number-nonblank`:只对非空行编号。 - `-s`:不打印重复的空行。 - **示例**: - `cat -n hello.c`:打印 `hello.c` 文件的内容,并为每一行加上行号。 - `cat -bs hello.c`:打印 `hello.c` 文件的内容,但只对非空行编号,并合并连续的空行。 #### 5. `df`(Disk Free) - **功能**:显示文件系统的磁盘空间使用情况。 - **格式**: - `df [options] [file ...]` - `-k`:以 KBytes 为单位显示磁盘使用量。 - `-h`:以人类易读的方式显示磁盘使用量(例如:KB、MB、GB)。 - **示例**: - `df -k`:以 KBytes 为单位显示系统中每个文件系统的磁盘使用量。 #### 6. `du`(Disk Usage) - **功能**:报告每个文件或目录的磁盘使用情况。 - **格式**: - `du [options] [file ...]` - `-a`:列出目录下的所有文件和子目录占用的空间。 - `-b`:以字节为单位报告磁盘使用量。 - `-h`:以人类易读的方式报告磁盘使用量。 - **示例**: - `du -kh /usr/local`:以 KBytes 为单位显示 `/usr/local` 目录及其子目录占用的空间。 #### 7. `find` - **功能**:搜索文件系统中符合条件的文件或目录。 - **格式**: - `find path -expression` - `-name filename`:查找名称匹配 `filename` 的文件。 - `-type c`:查找类型为 `c` 的文件或目录,其中 `c` 可以是 b(块设备)、c(字符设备)、d(目录)、p(管道)、f(普通文件)、l(符号链接)、s(套接字)。 - `-user username`:查找属于用户 `username` 的文件。 - `-atime n`:查找在过去 `n` 天内被访问过的文件。 - `-mtime n`:查找在过去 `n` 天内被修改过的文件。 - `-ctime n`:查找在过去 `n` 天内状态改变过的文件。 - `-exec cmd {} \;`:对找到的每个文件执行 `cmd` 命令,其中 `{}` 代表文件名。 - **示例**: - `find /usr/local -type d`:查找 `/usr/local` 目录下的所有子目录。 - `find . -name "*.o" -exec rm -f {} \;`:删除当前目录下所有扩展名为 `.o` 的文件。 #### 8. `grep` - **功能**:在文件中搜索指定的模式。 - **格式**: - `grep [options] pattern file ...` - `-r`:递归搜索指定目录及其子目录。 - **示例**: - `grep -r "error" /var/log/*`:在 `/var/log` 目录及其子目录下所有文件中搜索包含 “error” 的行。 #### 9. `gzip` - **功能**:压缩文件。 - **格式**: - `gzip [options] [file ...]` - `-9`:使用最大压缩级别。 - `-f`:强制覆盖已存在的文件。 - `-d`:解压文件。 - **示例**: - `gzip -9 a.tar`:使用最高压缩级别压缩 `a.tar` 文件。 #### 10. `ln`(Link) - **功能**:创建硬链接或符号链接。 - **格式**: - `ln [options] source target` - `-s`:创建符号链接。 - `-f`:如果目标文件存在则覆盖。 - `-v`:显示操作详情。 - **示例**: - `ln -s /mnt/sdb/sdb1 /usr/local/data`:创建 `/usr/local/data` 指向 `/mnt/sdb/sdb1` 的符号链接。 #### 11. `mkdir`(Make Directory) - **功能**:创建目录。 - **格式**: - `mkdir [options] directory ...` - `-p`:即使某些中间目录不存在也创建。 - **示例**: - `mkdir subdir`:创建 `subdir` 目录。 #### 12. `more` - **功能**:分页显示文本文件内容。 - **格式**: - `more [file]` - **示例**: - `more /etc/rc.local`:分页查看 `/etc/rc.local` 文件的内容。 #### 13. `mount`(Mount File System) - **功能**:挂载文件系统。 - **格式**: - `mount [options] device directory` - `-a`:根据 `/etc/fstab` 文件自动挂载所有条目。 - `-F`:类似 `-a` 但每条目分别给出反馈。 - `-o options`:指定挂载选项,如 `ro` 表示只读挂载,`rw` 表示读写挂载。 - **示例**: - `mount -o ro /dev/hda1 /mnt`:只读挂载 `/dev/hda1` 到 `/mnt` 目录。 #### 14. `mv`(Move) - **功能**:移动文件或重命名文件。 - **格式**: - `mv [options] source destination` - `-f`:强制移动文件,即使目标文件已存在也不提示。 - `-i`:移动前询问用户是否覆盖已存在的目标文件。 - **示例**: - `mv a.txt a.c`:将 `a.txt` 重命名为 `a.c`。 - `mv *.txt temp/`:将当前目录下所有 `.txt` 文件移动到 `temp` 目录。 #### 15. `pwd`(Print Working Directory) - **功能**:显示当前工作目录。 - **格式**: - `pwd` - **示例**: - `pwd`:显示当前工作目录。 #### 16. `rm`(Remove) - **功能**:删除文件或目录。 - **格式**: - `rm [options] [file ...]` - `-i`:交互式删除,即在删除前询问用户确认。 - `-f`:强制删除,忽略不存在的文件,从不给出提示。 - `-r`:递归删除目录。 - **示例**: - `rm -f a*`:强制删除所有以 `a` 开头的文件。 #### 17. `sed`(Stream Editor) - **功能**:流编辑器,用来处理文本文件。 - **格式**: - `sed [options] command [file ...]` - `-e script`:执行由 `script` 定义的一系列命令。 - `-n`:仅打印由命令明确指定的行。 - **示例**: - `sed -i 's/helo/hello/g' *.txt`:将所有 `.txt` 文件中的 `helo` 替换为 `hello`。 #### 18. `tail`(Show Trailing Lines of Files) - **功能**:显示文件末尾的部分内容。 - **格式**: - `tail [options] [file ...]` - `-n N`:显示最后 `N` 行。 - `-f`:监视文件增长。 - **示例**: - `tail -f log.txt`:持续显示 `log.txt` 文件新增的内容。 通过以上介绍,我们可以看到Linux命令的强大与灵活性。熟练掌握这些基本命令能够大大提高日常工作效率,对于深入学习Linux系统管理具有重要意义。希望本篇内容能帮助初学者更好地理解并应用这些基础命令。
命令:
cd /root 进入root目录下
例如:
cd 或 cd ~ 进入用户主目录
cd ../source 进入上一级目录下source目录
cd /user/local 进入/user/local目录
ls 查看目录内容
-a 显示所有档案及目录 (以‘.’开头的是隐藏档案,不列出)(all)
-l 除档案名称外,也将档案型态,权限,大小等详细列出(list)
-r 将档案以相反的次序显示(reverse)
-t 将档案依建立时间先后次序列出(time)
-R 若目录下有档案,则以下之档案亦皆依序列出
-F 在列出的档案名后加符号,例如可执行档则加"*",目录则加"/" (fill)
例如:
ls -ltr s* 列出目前目录下所有名称以s开头的档案
ls -lR /bin 将/bin目录以下所有目录及档案详细资料列出
ls -AF 列出目录下所有档案及目录,目录名后加“/”,可执行档名称后加"*"
cp 复制
-a 尽可能将档案状态,权限等资料都予以复制。等同-dpR
-r/-R 若source中含有目录名,则将目录下档案都拷贝到目的地
-f 若目的地已经有相同档名存在,则在复制前先删除再复制
-i 在覆盖文件或目录时提示
例如:
cp -a source temp 将目录source目录下所有内容复制到temp目录下
cat 将档案串联后传到基本输出
-n/-number 由1开始对所有输出的行数编号
-b/-number-nonblank 和-n相似,只不过对于空白行不编号
-s 当遇到有连续两行以上的空白行,就代替换为一行
例如:
cat -n hello.c 输出hello.c文件内容,列出行号
df 显示文件系统磁盘空间使用的状况
例如:
df -k 显示系统所配置的每一个磁盘当前的空间大小
du 显示指定的目录或文件所占用的磁盘空间
-a/-all 显示目录中所有文件的大小
-b 显示目录或文件大小时,以byte为单位
-c 显示每个目录和文件的大小,同时显示所有目录或文件的总是
-D 显示指定符号连接的源文件大小
-h 以K,M,G为单位,提高信息的可读性
-H 与-h参数相同,但K,M,G是以1000为换算单位
-k 以1024 byte为单位
例如:
du -kc /usr/local 显示/usr/local目录下每个文件及目录的大小,以K为单位
剩余9页未读,继续阅读
- 粉丝: 1
- 资源: 26
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 此存储库适用于 Linkedin Learning 课程学习 Java.zip
- (源码)基于STM32和AD9850的无线电信标系统.zip
- (源码)基于Android的新闻推荐系统.zip
- 本资源库是关于“Java Collection Framework API”的参考资料,是 Java 开发社区的重要贡献,旨在提供有关 Java 语言学院 API 的实践示例和递归教育关系 .zip
- 插件: e2eFood.dll
- 打造最强的Java安全研究与安全开发面试题库,帮助师傅们找到满意的工作.zip
- (源码)基于Spark的实时用户行为分析系统.zip
- (源码)基于Spring Boot和Vue的个人博客后台管理系统.zip
- 将流行的 ruby faker gem 引入 Java.zip
- (源码)基于C#和ArcGIS Engine的房屋管理系统.zip