Linux命令大全(手册) – 真正好用的Linux命令在线查询网站 (linuxcool.com)
一、目录和文件信息
文件系统是像一棵树,树干是/(根)目录,树枝是子目录,树枝后面还有树枝(子目录中还有子目录),树枝最后是树叶,目录的最后是文件。
cd / 是跳转到根目录:根目录是所有用户共享的目录
cd ~ 是跳转到当前用户的家目录
- 如果是root用户,cd ~ 相当于 cd /root
- 如果是普通用户,cd ~ 相当于cd /home/当前用户名
pwd 查看当前工作目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd - 返回上次所在的目录
ls 查看目录中的文件
- ls -F 查看目录中的文件
- ls -l 显示文件和目录的详细资料
- ls -a 显示隐藏文件
正则表达式又称规则表达式、通配符,目录和文件名都支持正则表达式,正则表达式的规则比较多,在这里我只介绍最常用的两种:星号“*”和问号“?”。
- 星号“*”:匹配任意数量的字符。
- 问号“?”:匹配一个的字符。
二、创建目录
mkdir dir1 当前目录下创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir aaa/bbb 在当前工作目录的aaa目录下创建bbb目录
mkdir /tmp/aaa 创建/tmp/aaa目录。
mkdir -p /tmp/dir1/dir2 创建一个目录树
三、删除目录
rm [-rf] 目录或文件列表
- 选项 -r 可以删除目录,如果没有-r只能删除文件。
- 选项 -f 表示强制删除,不需要确认。
- 目录和文件列表中间用空格分隔。
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
1)删除当前工作目录下匹配*.log的文件。
rm *.log
2)强制删除当前工作目录下匹配*.log的文件。
rm -f *.log
3)删除/tmp/aaa目录和文件。
rm -r /tmp/aaa
4)强制删除/tmp目录下匹配exp*的全部目录和文件。
rm -rf /tmp/exp*
5)强制删除当前工作目录下的book和book.c文件
rm -rf book book.c
四、移动目录和文件
mv 旧目录或文件名 新目录或文件名
如果第二个参数是已经存在的目录,则把第一个参数(旧目录或文件名)移动到该目录中。
示例:
1)把当前工作目录中的book.c文件重命名为book1.c
mv book.c book1.c
2)如果/tmp/test3是一个已经存在的目录,以下命令将把当前工作目录下的book.c文件移动到/tmp/test3目录中。
mv book.c /tmp/test3
3)如果/tmp/test3目录不存在,以下命令将把当前工作目录下的book.c文件改名为/tmp/test3。
mv book.c /tmp/test3
五、复制目录和文件
cp [-r] 旧目录或文件名 新目录或文件名
选项-r可以复制目录,如果没有选项-r只能复制文件。
示例:
1)把当前工作目录下的book1.c文件复制为book2.c
cp book1.c book2.c
2)把当前工作目录下的aaa目录复制为bbb
cp -r aaa bbb
3)把当前工作目录下的book1.c文件复制为/tmp/book1.c
cp book1.c /tmp/book1.c
cp book1.c /tmp/.
以上两个命令的效果相同。
4)把当前工作目录下的aaa目录复制为/tmp/aaa
cp -r aaa /tmp/aaa
cp -r aaa /tmp/.
以上两个命令的效果相同。
六、打包和解压
tar命令用来打包压缩和解包解压文件,类似windows的winrar工具。
打包压缩的语法:
tar zcvf 压缩包文件名 目录或文件名列表
示例:
1)把当前工作目录的aaa、bbb和ccc目录打包压缩成123.tgz文件。
tar zcvf 123.tgz aaa bbb ccc
解包解压的语法:
示例:
1)把/tmp/123.tgz压缩包文件在当前工作目录下解压。
tar zxvf /tmp/123.tgz
2)把/tmp/123.tgz压缩包文件在/tmp/aaa目录下解压。
cd /tmp/aaa
tar zxvf /tmp/123.tgz
注意:
1)用tar命令打包和解包的目录和文件没有绝对路径的说法,都成了相对的,在包中相对的。
2)用tar命令打包的文件,用winrar可以解开。
3)在Linux系统中,还有其它的打包压缩和解包解压命令,例如zip/unzip和gzip/gunzip。
七、判断网络是否连通
ping -n 包的个数 ip地址或域名
ping -c 包的个数 ip地址或域名
ping用于确定本地主机是否能与另一台主机成功交换数据包,判断网络是否通畅。
127.0.0.1是指本地的ip地址,ping 127.0.0.1总是可以通的。
八、显示文本文件内容
显示文本文件的内容有三个命令:cat、more和tail。
cat命令一次显示整个文件的内容
cat book1.c
为了方便阅读,more命令分页显示文件的内容,按空格键显示下一页,按b键显上一页,按q键退出。
tail -f用于显示文本文件的最后几行,如果文件的内容有增加,就实时的刷新。
对程序员来说,tail -f极其重要,可以动态显示后台服务程序的日志,用于调试和跟踪程序的运行。
九、统计文本文件的行数、单词数和字节数
示例:
1)统计当前工作目录处book2*.c文件的行数、单词数和字节数。
wc book2*.c
十、搜索文件
find 目录名 -name 文件名 -print
参数说明:
目录名:待搜索的目录,搜索文件的时候,除了这个目录名,还包括它的各级子目录。
文件名:待搜索的文件名匹配的规则。
示例:
1)从/tmp目录开始搜索,把全部的*.c文件显示出来。
find /tmp -name *.c -print
2)从当前工作目录开始搜索,把全部的*.c文件显示出来。
find . -name *.c -print
十一、磁盘空间
df [-h] [-T]
选项-h 以方便阅读的方式显示信息。
选项-T 列出文件系统类型。
十二、三剑客
三剑客就是普通的命令,有的把他们叫做工具,在我看来都一样。而正则表达式就好比一个模版。三剑客能读懂这个模版。就这么简单。注意只有三剑客才能读懂这个模版哦!
三剑客的功能非常强大,但我们只需要掌握他们分别擅长的领域即可:grep擅长查找功能,sed擅长取行和替换。awk擅长取列。
12.1 grep
文本过滤(模式:pattern)工具,grep, egrep
grep [OPTIONS] PATTERN [FILE...]
- --color=auto 对匹配到的文本着色显示
- -v 显示不被pattern匹配到的行
- -i 忽略字符大小写
- -n 显示匹配的行号
- -c 统计匹配的行数
- -o 仅显示匹配到的字符串
- -q 静默模式,不输出任何信息
- -A # after, 后#行
- -B # before, 前#行
- -C # context, 前后各#行
- -e 实现多个选项间的逻辑or关系
- grep –e ‘cat ’ -e ‘dog’ file
- -w 匹配整个单词
- -E 使用ERE,相当于egrep
- -F 相当于fgrep,不支持正则表达式