Linux指令
一、文件与目录管理
1.查看与导航
01.ls 列出目录
- 功能:列出目录中的文件和子目录。
- 常用选项:
- ls -l :长格式显示详细信息(文件类型、权限、链接数、所有者、大小、修改时间等)
- ls -lh :以人类可读格式显示文件大小(如
1K
,2G
)。 - ls -a :显示所有文件,包括隐藏文件(以 . 开头的文件)。
- ls -r :反向排序。
- ls -t :按修改时间排序,最新文件在前。
- ls -R :递归列出子目录内容。
- ls -S :按文件大小排序,最大文件在前。
- ls -color :彩色显示输出,通常不同类型文件会有不同颜色。
- 示例:
ls [选项] [目录或文件] [srv01]:/home/tmp ls -l # 查看用户tmp目录下的详细文件列表 [srv01]:/home/tmp ls -lh # 查看用户tmp目录下的详细文件列表
02.cd 切换目录
- 功能:切换目录。
- 常用选项:
- cd ..:切换到当前目录的上一级目录。
- cd -:切换到上一个目录。
- cd ~:切换到用户主目录。
- cd /:切换到根目录。
- cd ./:保持当前目录。
- 示例:
cd [选项] [目录或文件] [srv01]:/home/tmp cd .. #切换到当前目录的上级目录 [srv01]:/home/tmp cd test01 #进入到test01文件夹
03.pwd 绝对路径
- 功能:显示当前工作目录的绝对路径。
- 常用选项:
- pwd -L:逻辑路径。
- pwd -P:物理路径。
- 示例:
[srv01]:/home/tmp pwd # 输出:/home/tmp [srv01]:/home/tmp pwd -P # 输出:/home/tmp [srv01]:/home/tmp pwd -L # 输出:/home/tmp
2.复制与移动
04.cp 复制文件或目录
- 功能:复制文件或目录。
- 常用选项:
- cp -r 或 -R :递归复制目录及其内容(用于复制目录)。
- cp -i :交互模式,覆盖前提示确认。
- 示例:
cp [选项] 源文件地址 ./ [srv01]:/home/tmp cp /home/tmp/file/fpga.edf ./ # [srv01]:/home/tmp cp -r /home/tmp/file/fpga.edf ./ #
05.mv 移动或重命名
- 功能:移动文件或目录,或重命名。
- 常用选项:
- mv-v :显示详细操作信息。
- mv-i :交互式操作,覆盖前提示确认。
- mv-f :强制操作,直接覆盖不提示。
- mv-n :不覆盖已存在文件。
- 示例:
mv [选项] [目录或文件] mv old_name.txt new_name.txt # 重命名文件 mv file.txt /new/location/ # 移动文件 [srv01]:/home/tmp mv d10007 can_fd #将d10007文件夹重命名为 can_fd [srv01]:/home/tmp mv d10007 /home/tmp/file #将d10007文本或文件夹移到file文件夹中
3.创建与删除
06.mkdri 创建目录
- 功能:创建目录
- 常用选项:
- mkdri-v :显示创建目录的详细信息(verbose)。
- mkdri-p :递归创建目录。如果父目录不存在,会自动创建。
- mkdri-m :设置目录的权限模式(如 mkdir -m 001 dirname )。
- 示例:
mkdir [选项] 目录名 #在tmp目录下创建一个d001的目录 [srv01]:/home/tmp mkdir d001#在已有的tmp目录中创建一个新的test目录并给111权限 [srv01]:/home/tmp mkdir -m 111 test#递归创建目录,tmp可以不存在 [srv01]:/home/tmp mkdir -p /home/tmp/file_new/test #在/home/tmp下创建一个新的file_new目录,并在目录file_new下创建test文件夹#创建目录并给权限 ,tmp可以不存在 [srv01]:/home/tmp mkdir -p -m 111 /home/tmp/file_new/test #在/home/tmp下创建一个新的file_new目录,并在目录file_new下创建test文件夹 给111使用权限
07.touch 创建文本
- 功能:创建空文本或更新文本时间戳。
- 常用选项:touch
- 示例:
[srv01]:/home/tmp touch new.txt #在tmp目录下创建一个文本new.txt
08.rm 删除文件或目录
- 功能:删除文件或目录。
- 常用选项:
- rm-f :强制删除,忽略不存在的文件,不提示确认。
- rm-i :交互式删除,删除前提示确认。
- rm-r 或 -R :递归删除目录及其内容。
- rm-v :显示详细操作信息。
- 示例:
rm [选项] [目录或文件] [srv01]:/home/tmp rm -f /home/tmp/file/new.txt # 强制删除new.txt [srv01]:/home/tmp rm -rf /home/tmp/file/new.txt # 强制删除目录及其内容
二、文件与文本处理
1.搜索与过滤
01.grep 文本搜索
- 功能:在文件中搜索指定模式的文本,并将结果输出到标准输出(通常是终端)。
- 常用选项:
- -l:只列出包含匹配行的文件名,而不是输出匹配的行。
- -r 或-R:递归搜索目录中的所有文件。
- 示例:
#在/home/tmp下搜索error所在的文件 grep -lr "error" example [srv01]:/home/tmp grep -lr "error"
02.find 文件搜索
- 功能:在目录树中搜索文件。
- 1.按名称查找 常用选项:
- find -iname:按文件名查找(不区分大小写)。
- find -name:按文件名查找(区分大小写)。
#在tmp目录下搜索名字为file1的文件 [srv01]:/home/tmp find /home/tmp -name "file1"
- 2.按类型查找 常用选项:
- find -type d:查找目录。
- find -type f:查找文件。
-
#在tmp目录下搜索名字为file1的文件 [srv01]:/home/tmp find /home/tmp -type f
- 3.按大小查找 常用选项:
- -size +100M:查找大于 100MB 的文件。
- -size -100M:查找小于 100MB 的文件。
-
#在tmp目录下搜索大于100M的文件 [srv01]:/home/tmp find /home/tmp -size +100M
- 4.按时间查找 常用选项:
- -mtime -7:查找过去 7 天内修改的文件。
- -mtime +7:查找 7 天前修改的文件。
-
#在tmp目录下搜索查找过去 7 天内修改的文件 [srv01]:/home/tmp find -mtime -7
2.查看与编辑
03.cat
- 功能:查看、创建、合并和复制文件内容。
- 常用选项:
- cat -n :显示行号。
- cat -b :显示非空行的行号。
- cat -s :压缩连续空行为一行。
- cat -A :显示所有字符,包括特殊字符(如换行符、制表符等)。
- 示例:
[srv01]:/home/tmp cat file.txt #查看文件内容[srv01]:/home/tmp cat -n file.txt #显示行号 [srv01]:/home/tmp nl file.txt[srv01]:/home/tmp cat file1.txt file2.txt > combined.txt #合并文件[srv01]:/home/tmp cat > newfile.txt #创建文件[srv01]:/home/tmp cat file.txt > copy.txt #复制文件[srv01]:/home/tmp cat -A file.txt #显示特殊字符
04.wc
- 功能:用于统计文件的行数、单词数和字节数等信息。默认会同时统计行数、单词数和字节数。
- 常用选项:
- wc -c :统计文件的字节数。
- wc -l :统计文件的行数。
- wc -w:统计文件的单词数。
- wc -m:统计文件的字符数(包括换行符等)。
- wc -L :统计文件中最长行的长度。
- 示例:
wc [选项] 目录名 [srv01]:/home/tmp wc -c file
05.head命令
- 功能:显示文件的开头部分(默认显示前 10 行)。它通常用于快速查看文件的内容,而不需要加载整个文件。
- 常用选项:
- head -n (行数) :显示文件的前 <行数>行(例如 -n 20)。
- head -c (字节数):显示文件的前 <字节数>字节。
- head -q :不显示文件名(静默模式)。
- head -v :总是显示文件名(默认行为)。
- 示例:
#显示前十行 [srv01]:/home/tmp head filename.txt#显示前N行 [srv01]:/home/tmp head -n N filename.txt#显示前N个字节 [srv01]:/home/tmp head -c N filename.txt#显示多个文件的前N行,并在每个文件内容前显示文件名。 [srv01]:/home/tmp head -n N file1.txt file2.txt#静默模式(不显示文件名) [srv01]:/home/tmp head -q -n N file1.txt file2.txt#从标准输入读取数据 通过管道将cat的输出传递给head,显示前10行。 [srv01]:/home/tmp cat filename.txt | head -n 10
06.tail命令
- 功能:用于显示文件的末尾部分(默认显示最后 10 行)。它通常用于查看日志文件或实时监控文件内容的变化。
- 常用选项:
- -n <行数> 显示文件的最后 <行数>行(例如 -n 20)。
- -c <字节数> 显示文件的最后 <字节数>字节。
- -f 实时跟踪文件内容的变化(常用于日志监控)。
- -q 不显示文件名(静默模式)。
- -v 总是显示文件名(默认行为)。
- 示例:
#显示文件的最后十行 [srv01]:/home/tmp tail filename.txt#实时显示文件内容的变化 [srv01]:/home/tmp tail -f /var/log/syslog
3.压缩与解压
07.tar 打包和解压
- 功能:打包和解压文件。
- 常用选项:
- tar -czf :压缩
- tar -xzf :解压
- 示例:
#把file打包并压缩为名字为filenewname的文件 [srv01]:/home/tmp tar -czf filenewname.tar.gz file#打包并压缩到/home/tmp/new/01指定目录 [srv01]:/home/tmp tar -czf /home/tmp/new/01/filenewname.tar.gz file#将filenewname.tar.gz的文件解压 [srv01]:/home/tmp tar -xzf filenewname.tar.gz
三、其它命令
1.高级技巧
01.man 命令手册
- 功能:查看命令手册
- 示例:
man ls # 查看ls命令的详细帮助
02.history 历史命令
- 功能:查看历史命令
- 示例:
history 10 # 显示最近10条命令
03.clear 清空终端屏幕
- 功能:清空终端屏幕
- 示例:
clear
四、错误处理
2.Red Hat Enterprise Linux 错误
01.“cp:omitting directory "dir" ”
在Linux系统使用cp(复制命令)复制目录时,常出现错误“cp:omitting directory "dir" ”(dir是需要复制的目录名称),是因为dir目录下存在其他目录或文件存在,不可只使用cp命令实现复制操作;
解决方法:使用cp命令时,加上 -r 选项,此选项指“递归持续复制,用於目录的复制行为”。 例如 cp -r dir ./usr
当执行删除操作时碰到类似的错误,也可使用递归式删除方式。