************************* 路径 *************************
从/
目录开始描述的路径为绝对路径,
从当前位置开始描述的路径为相对路径
.
表示当前目录,
..
表示上一级目录,即父目录,
根目录下的.
和..
都表示当前目录
************************* 文件、磁盘管理命令 *************************
Linux命令格式:
command [-options] [parameter1] …
command
:命令名,相应功能的英文单词或单词的缩写
[-options]
:选项,可用来对命令进行控制,也可以省略,[]代表可选?
parameter1 …
:传给命令的参数:可以是零个一个或多个
自动补全:
一个 tab 补全,如果有唯一定位的,自动出来。
两个 tab 所有满足条件的都列出出来。
-
man
linux提供的一个手册,包含了绝大部分的命令、函数使用说明
sudo apt-get install manpages-zh(安装中文手册) -
history
将执行过的命令列举出来,后边可加数字,列出最后几条命令
!
加数字可执行以前执行过的命令 -
ls
列出目录的内容,类似于DOS下的 dir 命令
参数 | 含义 |
---|---|
-a | 显示制定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合-l 以人性化的方式显示文件大小 |
-R | 递归显示所有文件 |
通配符 | 含义 |
---|---|
* | 文件代表文件名中所有字符 |
te* | 查找以 te 开头的文件 |
*html | 查找结尾为 html 的文件 |
? | 代表文件名中任意一个字符 |
?.c | 只找第一个字符任意,后缀为 .c 的文件 |
a.? | 只找只有三个字符,前2字符为 a. 最后一个字符任意的文件 |
[] | [ 和] 将字符括起来,表示可以匹配字符组中的任意一个 |
[abc] | 匹配 a、b、c 中的任意一个 |
[a-f] | 匹配从 a 到 f 范围内的任意一个字符 |
[a-f]* | 找到从 a 到 f 范围内的任意一个字符开头的文件 |
a-f | 查找文件名为 a-f 的文件,当- 处于方括号之外失去通配符的作用 |
\ | 如果要使用通配符作为普通字符使用,可以在其前面加上转义字符 |
*a | 查找文件名为 *a 的文件 |
?
和*
处于方括号内时不用使用转义字符就失去通配符的作用
-
输出重定向:
>
:输出重定向会覆盖原来的内容,
>>
:输出重定向则会追加到文件的尾部。 -
more
将过长的信息分屏显示,每次只显示一页
空格显示下一页,q 退出显示,h 获取帮助,ctrl+b 返回上一屏,ctrl+f 下一屏 -
管道:
|
一个命令的输出通过管道做为另一个命令的输入
左端命令塞东西(写),右端命令取东西(读) -
clear
清屏,并不是删除,上边一屏被保留,出来新的屏,快捷键:Ctrl+L -
cd
切换工作目录,后面可跟绝对路径,也可以跟相对路径。
cd
: 切换到当前用户的主目录(/home/用户目录)
cd ~
: 切换到当前用户的主目录(/home/用户目录)
cd .
: 切换到当前目录
cd ..
: 切换到上级目录
cd -
: 进入上次所在的目录 -
pwd
显示当前的工作目录,后面不带参数 -
mdir
创建一个新的目录,参数-p可递归创建目录 -
tree
(需要第三方安装)
以递归的形式列出文件夹下的内容 -
rmdir
删除一个目录,必须离开目录,并且目录必须为空目录,-p递归删除(需写完整) -
rm
删除文件或目录,文件删除后不能恢复。为了防止误删,可使用-i
逐个确认
-i
: 逐个确认是否删除
-f
: 强制删除,忽略不存在的文件,无需提示
-r
: 递归地删除目录下的内容,删除文件夹时必须加此参数
-v
: 在移除每个文件之前打印其名称 -
ln
建立链接文件
软链接:不占用磁盘空间,源文件删除则软链接失效。ln -s 源文件 链接文件
硬链接:只能链接普通文件,不能链接目录。ln 源文件 链接文件
-
grep
文本搜索,允许对文本进行模式查找。
如果找到匹配模式, grep 打印包含模式的所有行。grep 一般格式为:
grep [-选项] ‘搜索内容串’ 文件名 (搜索内容串可以是正则表达式)
选项 | 含义 |
---|---|
-v | 显示不包含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
正则表达式 | 含义 |
---|---|
^a | 行首,搜寻以 a 开头的行 |
ke$ | 行尾,搜寻以 ke 结束的行 |
[Ss]igna[Ll] | 匹配[] 里中的一系列字符中的一个,搜寻匹配单词SignaL、Signal、signaL、signal的行 |
.(点) | 匹配一个非换行符的字符; |
‘e.e’ | 匹配 e 和 e 之间有任意一个字符,可以匹配eee,eae,eve,但是不匹配ee,eaae |
find
查找文件,在特定的目录下搜索符合条件的文件
命令 | 含义 |
---|---|
find ./ -name test.sh | 查找当前目录下所有名为 test.sh 的文件 |
find ./ -name ‘*.sh’ | 查找当前目录下所有后缀为 .sh 的文件 |
find ./ -name “[A-Z]*” | 查找当前目录下所有以大写字母开头的文件 |
find /tmp -size 2M | 查找在 /tmp 目录下文件大小等于2M的文件 |
find /tmp -size +2M | 查找在 /tmp 目录下文件大小大于2M的文件 |
find /tmp -size -2M | 查找在 /tmp 目录下文件大小小于2M的文件 |
find ./ -size +4K -size -5M | 查找当前目录下文件大小大于 4K,小于 5K 的文件 |
find ./ -perm 0777 | 查找当前目录下权限为777的文件或目录 |
cp
将给出的文件或目录复制到另一个文件或目录中,相当于 DOS 下的 copy 命令
选项 | 含义 |
---|---|
-a | 该选项通常在复制目录时使用,它保留连接、文件属性,并递归地复制目录(简单而言,保持文件原有属性) |
-f | 已经存在的目标文件而不提示 |
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-r | 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
-v | 显示拷贝进度 |
mv
将给出的文件或目录复制到另一个文件或目录中,相当于 DOS 下的 move 命令
选项 | 含义 |
---|---|
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-i | 确认交互方式操作,如果 mv 操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-v | 显示移动进度 |
-
tar
把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据tar 使用格式:(其参数前面可以使用“-”,也可以不使用)
tar [参数] 打包文件名 文件
选项 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-v | 列出归档解释的详细过程,显示进度 |
-f | 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
-t | 列出档案中包含的文件 |
-x | 解开档案文件 |
-z | 调用 gzip 实现压缩的功能,实行一个先打包后压缩的过程 |
压缩用法:tar cvzf 压缩包包名 文件1 文件2 ...
-z
:指定压缩包的格式为:xxxx.tar.gz
解压用法:tar zxvf 压缩包包名
-z
:指定压缩包的格式为:xxxx.tar.gz
解压到指定目录:-C (大写字母“C”)
-
gzip
文件压缩解压,一般与tar命令结合使用实现文件打包、压缩。
用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxxx.tar.gz。gzip 使用格式:(其参数前面可以使用
-
,也可以不使用)
gzip [选项] 被压缩文件
选项 | 含义 |
---|---|
-d | 解压 |
-f | 压缩所有子目录 |
-
bzip2
tar 与 bzip2 命令结合使用实现文件打包、压缩(用法和 gzip 一样)
其扩展名一般用 xxxx.tar.gz2。压缩用法:
tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
-
zip、unzip
通过 zip 压缩文件的目标文件不需要指定扩展名,默认扩展名为 zip。压缩文件:
zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
-
witch
查看命令位置