写在前面
linux命令众多,记住几个常用的 ,剩下的通过以下方式获取:
Tab
自动补全 ,两次Tab
列出有歧义的命令-
command –help #显示 command 命令的帮助信息
man command #查阅命令使用手册
百度自行下载chm命令大全文档
在线的可靠笔记,如RUNOOB.COM 、Linux命令大全
linux 的目录:
~
表示home目录.
表示当前目录/
表示根目录
1. 查看目录下内容 ls
pwd
tree
ls [选项]…. [目录]…. #列出目录中的文件和目录
-a
: 显示指定目录下所有子目录与文件,包括隐藏文件-l
: 以列表方式显示文件的详细信息,包含权限等-h
: 在-l的基础上,人性化的方式显示文件大小
通配符实现快速定位查找,如ls d*:列出以d开头的文件
通配符 :
*
: 代表任意多个字符?
: 代表任意一个字符,至少一个[]
: 表示可以匹配字符组中的任意一个[abc]
: 匹配 a、b、c 中的任意一个[a-f]
: 匹配从 a 到 f 范围内的的任意一个字符
pwd # 查看当前所在的目录
tree [选项]….[目录]… #以树状的形式列出当前目录和文件的结构
-d
: 只显示目录
2. 更改当前的工作目录cd
命令 | 含义 |
---|---|
cd /cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd .. | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
3. 创建文件/目录 touch
mkdir
touch [选项]….文件… # 创建文件
- 如果文件不存在,则创建空白文件
- 如果文件存在,可以修改文件的末次修改日期
mkdir [选项]…..目录… #创建目录
选项 :
-p
: 递归创建目录,如mkdir -p a/b/c
4.删除文件或目录 rm
rm [选项]….文件|目录…..
选项 :
-f
: 强制删除,忽略不存在的文件,无需提示-r
: 递归地删除目录下的内容
rm
也可以使用通配符
5. 拷贝 | 移动文件和目录 cp
| mv
cp [选项] 源文件 目标路径+[目标文件名] # 拷贝源文件到目标目录中,起名为目标文件 。不写目标文件名则表示文件名不变
-i
覆盖文件前提醒-r
若源文件是目录,则该选项会将该目录下的所有文件和目录一同复制
mv [选项] 源文件 目标路径+[目标文件名] # 将源文件移动到目标目录下 ,并起名目标文件名。不写目标文件名则表示文件名不变
mv [选项] 源目录 目标路径+[目录名] # 会将源目录移动到目标路径,并重新起名。不写目录名则表示目录名不变
-i
覆盖前提醒
6.查看、搜索文件内容 cat
more
grep
cat [选项]….文件…. # 查看文件内容
选项 :
-b
: 对非空输出行编号-n
: 对输出的所有行编号
more [选项]… 文件.. # 分屏查看文件内容
操作键:
操作键 | 功能 | 操作键 | 功能 |
---|---|---|---|
空格键 | 显示手册页的下一屏 | f | 前滚一屏 |
Enter 键 | 一次滚动手册页的一行 | q | 退出 |
b | 回滚一屏 | /word | 搜索 word 字符串 |
grep [选项]….搜索项…. 文件… # 搜索文件中的搜索项
选项 :
-n
: 显示匹配行及行号-v
: 显示不包含匹配文本的所有行(相当于求反)-i
: 忽略大小写
两种查找模式 :
^搜索项
: 搜寻以 搜索项 开头的行搜索项$
: 搜索以搜索项结尾的行
扩展 : 如果搜索项中含有空格,需将搜索项加双引号
7. 重定向与输出 >
>>
echo
echo xxx # 将输入的xx做原样输出,一般用来重定向
重定向 : 是把一个命令的执行结果(在终端显示)原样输出/追加到一个指定文件中
>
: 输出 ,会覆盖文件原来的内容
>>
: 追加,在文件内容的末尾添加新内容
例:
echo ls -lh >> a.txt # 将 ls -lh 原样输出到a.txt中
ls -lh >> a.txt # 将 ls -lh 的执行结果原样追加到a.txt中
cat a.txt # 查看a.txt的内容,如下
ls -h
总用量 12K
drwxrwxr-x 2 zyq zyq 4.0K 1月 12 15:27 a
drwxrwxr-x 2 zyq zyq 4.0K 1月 10 20:32 b
drwxrwxr-x 3 zyq zyq 4.0K 1月 10 20:32 c
8. 管道 |
管道 :Linux允许将一个命令的输出通过管道作为另一个命令的输入。
理解 :管子的一头塞东西进去,另一头取出来,这里 |
的左右分为两端,左端塞东西,右端取东西。
常用的管道命令有 : more
、 grep
例:
ls -lha ~ | more # 将ls 命令的执行结果用more命令进行分屏显示
ls -lha ~ | grep -n Do # 在ls 命令的执行结果中搜索包含Do的行
9. 文件与目录的搜索 find
find [路径]….依据 “搜索项” # 根据依据在指定目录下寻找搜索项。 搜索项可与通配符连用
依据:
-name
: 按照文件或目录的名字来搜索-iname
: 按照文件或目录的名字来搜索,不区分大小写-size
: 根据文件大小搜索-user/group
: 根据所有者/所数组查找-amin
: 根据访问时间查找-cmin
: 根据修改文件属性的时间查找-mmin
: 根据修改文件内容的时间查找-a
: 两个条件同时满足-o
: 两个条件满足任意一个即可
例 :
#在当前目录下搜索名字中以.txt结尾的文件
find -name "*.txt"
#在家目录下的Documents目录下搜索名字中以1开头的文件
find ~/Documents/ "1*"
#在根目录下查找大于100MB的文件 ,+表示大于,-表示小于
find / -size +204800
#在ect目录下查找5分钟内被修改过属性的文件和目录
find /etc -cmin -5
#在/etct目录下查找大于80MB 小于100MB的文件
find /etc -size +163840 -a -size -204800
find命令
通常与删除命令连用:
find [路径]….依据 “搜索项” -exec rm -r {} \;
find [路径]….依据 “搜索项” |xargs rm-rf
10.文件的硬链接和软链接 ln
ln [选项] 源文件路径 链接名 #建立源文件的链接,选项不加默认为硬链接
选项:
-s
表示建立源文件的软链接
软链接和硬链接 :软链接相当于快捷方式,文件删除后,软链接文件失效 , 而硬链接文件依然有效。
提示:源文件路径要使用绝对路径,否则链接位置变动会找不到路径 。在实际工作中,软链接用的多。
11.打包解包与压缩解压缩 tar
gzip
bzip2
区分打包与压缩: 打包是把一系列文件打包到一个大文件中,大文件的大小是一系列文件的总和。 tar
是最常用的打包(解包)命令,所以也是最常用的备份工具,打包后的文件以.tar
结尾 ; 压缩是把一个文件 压缩成一个小文件,目的是缩小源文件的大小。 gzip
和bzip2
都是常用压缩(解压缩)命令 ,压缩后的文件分别以.gz
和.bz2
结尾 。
gzip [选项] 目录/文件 #压缩与解压缩
bzip2 [选项] 目录/文件 #压缩与解压缩
选项:
-d
: 解压缩
tar
和 gzip
/bzip2
通常联合使用达到把一系列文件先打包成一个文件,然后在对这个文件压缩 。该压缩文件以.tar.gz
或.tar.bz2
结尾 。 联合使用的方法是把压缩命令变成tar
命令的一个选项进行调用 。
tar [选项1].. 打包压缩文件名 被打包压缩文件….. #打包压缩
tar [选项1].. 打包压缩文件名 [选项2]…[解压路径] #解包解压缩,选项2不加,默认解压到当前目录
选项 1:
-c
打包,生成档案文件-x
解包,解开档案文件-v
列出归档解档的详细过程,显示进度-f
指定档案文件名称,如果有多个选项,该选项必须放选项最后-z
调用gzip
命令进行压缩或解压缩-j
调用bzip2
命令进行压缩或解压缩
选项 2:
-C
指定解压目录,注意: 该目录必须是已经存在的。
例:
#将test目录下的a.txt和b.txt文件打包成ab.tar
tar -cvf ab.tar /test/a.txt /test/b.txt
#将打包的ab.tar解包
tar -xvf ab.tar
#将test目录下的a.txt和b.txt文件打包压缩成ab.tar.gz
tar -zcvf ab.tar.gz /test/ab.txt /test/b.txt
#将ab.tar.gz解包解压缩到/test/t目录下
tar -zxvf ab.tar.gz -C /test/t/
#将test目录下的a.txt和b.txt文件打包压缩成ab.tar.bz2
tar -jcvf ab.tar.bz2 /test/ab.txt /test/b.txt
#将ab.tar.bz2解包解压缩到/test/t目录下
tar -jxvf ab.tar.bz2 -C /test/t/