黑色方块中的内容都是可以在命令行终端中执行的命令, 命令里面#(井号)开头的都是注释, 可以忽略
命令终端可以在指定目录或桌面右键打开终端开启, 也可以通过全局快捷键 Ctrl+Alt+T
来开启.
ls # 目录查看命令
ls
是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一。
Linux 文件或者目录名称最长可以有 265 个字符
其中参数 .
代表当前目录,参数 ..
代表上一级目录
而以 .
开头的文件名(比如 .anyFile.txt
)为隐藏文件
需要用 -a
参数才能显示出来,默认不显示隐藏文件。
ls
常用参数:列出当前目录下所有非隐藏文件和目录
ls ./
列出当前目录所在位置的上一级目录下所有非隐藏文件和目录
ls ../
显示指定目录下所有子目录与文件,包括隐藏文件
ls -a
以列表方式显示文件的详细信息
ls -l
-h
配合 -l
以人性化的方式显示文件大小
ls -hl
在Unix/Linux系统中,允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。
*
代表文件名中所有字符
查找以te开头的文件
ls te*
比如: test tex terr.txt temm
查找结尾为html的文件
ls *html
比如: main.html myPage.html 测试html 文件html
?
代表文件名中任意一个字符
只找第一个字符任意,后缀为.c的文件
ls ?.c
比如: a.c m.c x.c
只找只有三个字符,前两个字符为 a.
,最后一个字符任意的文件
ls a.?
比如: a.c a.o
[]
使用中括号将字符组括起来,表示可以匹配字符组中的任意一个。
匹配a、b、c中的任意一个开头的对应文件
ls [abc]name.txt
比如: aname.txt bname.txt cname.txt
在中括号内, 字符 -
用于表示字符范围
匹配从a到f范围内的的任意一个字符
ls [a-f].txt
比如: a.txt b.txt c.txt d.txt e.txt f.txt
找到从a到f范围内的的任意一个字符开头的任意文件
ls [a-f]*
比如: aname.txt ebay.exe ftt.vie
而这些则不会展示: hot.txt zoom.exe
查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用, 也就是当做普通字符来处理
ls a-f.txt
比如: a-f.txt
而这些则不会展示: a.txt b.txt c.txt
如果要使通配符作为普通字符使用,可以在其前面加上转义字符 \
查找文件名为 *a.txt
的文件
ls \*a.txt
?
和 *
处于方括号内时不用使用转义字符就失去通配符的作用
clear
clear
作用为清除终端上的显示(类似于DOS的cls清屏功能),
也可使用快捷键:Ctrl + l
( “l” 为字母 )
cd
在使用Unix/Linux的时候,经常需要更换工作目录。
cd
命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感
cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。
命令 含义 cd
切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。
cd ~
切换到当前用户的主目录(/home/用户目录)
cd .
切换到当前目录
cd ..
切换到上级目录
cd -
可进入上次所在的目录
注意:
如果路径是从根路径开始的,则路径的前面需要加上 /
,
如 /mnt
,通常进入某个目录里的文件夹,前面不用加 /
。
pwd
使用pwd
命令可以显示当前的工作目录,该命令很简单,直接输入pwd
即可,后面不带参数
mkdir
通过mkdir
命令可以创建一个新的目录。参数-p
可递归创建目录。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
rm
可通过rm
删除文件或目录。使用rm
命令要小心,因为文件删除后不能恢复。
为了防止文件误删,可以在rm
后使用-i
参数以逐个确认要删除的文件。
常用参数及含义如下表所示:
参数 含义:
-i
以进行交互式方式执行
-f
强制删除,忽略不存在的文件,无需提示
-r
递归地删除目录下的内容,删除文件夹时必须加此参数
cp
cp
命令的功能是将给出的文件或目录复制到另一个文件或目录中
常用选项说明:
选项 含义:
-a
该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性
-f
已经存在的目标文件而不提示
-i
交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r
若给出的源文件是目录文件,则cp
将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-v
显示拷贝进度
mv
用户可以使用mv
命令来移动文件或目录,也可以给文件或目录重命名
常用选项说明:
选项 含义 :
-f
禁止交互式操作,如有覆盖也不会给出提示
-i
确认交互方式操作,如果mv
操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-v
显示移动进度
touch
用户可以通过touch
来创建一个空的文件,demo如下:
touch hello.txt
说明:
在当前路径下创建名字为hello.txt的空文件 Linux系统中没有严格的后缀(格式),所以创建文件时可以命名为任意的文件名
>
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
如:
ls > test.txt
( test.txt 如果不存在,则创建,存在则覆盖其内容 )
注意:
>
输出重定向会覆盖原来的内容
>>
输出重定向则会追加到文件的尾部
more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more
命令,每次只显示一页,按下空格键可以显示下一页,按下q
键退出显示,按下h
键可以获取帮助
less # 功能和 more 类似, 用起来更方便
|
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”
的左右分为两端,左端塞东西(写),右端取东西(读)。
ln
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:
ln
源文件 链接文件
ln -s
源文件 链接文件 如果没有-s
选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s
选项是更常见的形式。
grep
Linux系统中grep
命令是一种强大的文本搜索工具,grep
允许对文本文件进行模式查找。如果找到匹配模式, grep
打印包含模式的所有行。
grep
一般格式为:
grep [-选项] ‘搜索内容串’文件名
在grep命令中输入字符串参数时,最好引号或双引号括起来。
例如:
grep 'a' 1.txt
常用选项说明:
选项 含义:
-v
显示不包含匹配文本的所有行(相当于求反)
-n
显示匹配行及行号
-i
忽略大小写
grep
搜索内容串可以是正则表达式。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
参数 含义:
^a
行首,搜寻以 m 开头的行;
grep -n '^a' 1.txt ke$
行尾,搜寻以 ke 结束的行;
grep -n 'ke$' 1.txt [Ss]igna[Ll]
匹配 [] 里中一系列字符中的一个;
搜寻匹配单词signal、signaL、Signal、SignaL的行;
grep -n '[Ss]igna[Ll]' 1.txt .
匹配一个非换行符的字符;
匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
find
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,小于5M的文件
find ./ -perm 777
查找当前目录下权限为 777 的文件或目录
tar
计算机中的数据经常需要备份,tar
是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar
使用格式 tar [参数] 打包文件名 文件
tar
命令很特殊,其参数前面可以使用-
,也可以不使用。
常用参数:
参数 含义:
-c
生成档案文件,创建打包文件
-v
列出归档解档的详细过程,显示进度
-f
指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-t
列出档案中包含的文件
-x
解开档案文件
注意:除了-f
需要放在参数的最后,其它参数的顺序任意
gzip
tar
与gzip
命令结合使用实现文件打包、压缩。
tar
只负责打包文件,但不压缩,用gzip
压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip [选项] 被压缩文件
常用选项:
选项 含义:
-d 解压
-r
压缩所有子目录
tar
这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:
tar cvzf 压缩包包名 文件1 文件2 ...
-z
:指定压缩包的格式为:file.tar.gz
解压用法:
tar zxvf 压缩包包名
-z
:指定压缩包的格式为:file.tar.gz
解压到指定目录:
-C
(大写字母“C”)
chmod
chmod
修改文件权限有两种使用格式:字母法与数字法。
字母法:chmod
u/g/o/a +/-/= rwx
文件
[ u/g/o/a ] 含义:
u user
表示该文件的所有者
g group
表示与该文件的所有者属于同一组( group )者,即用户组
o other
表示其他以外的人
a all
表示这三者皆是
[ +-= ]
含义
+
增加权限
-
撤销权限
=
设定权限
rwx
含义
r read
表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write
表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute
表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
如果需要同时进行设定拥有者、同组者以及其他人的权限,参考如下:
数字法:rwx
这些权限也可以用数字来代替
字母 说明 r 读取权限,数字代号为 "4" w 写入权限,数字代号为 "2" x 执行权限,数字代号为 "1" - 不具任何权限,数字代号为 "0" 如执行:chmod u=rwx,g=rx,o=r filename
就等同于:chmod u=7,g=5,o=4 filename
chmod 751 file
文件所有者:读、写、执行权限
同组用户:读、执行的权限
其它用户:执行的权限
注意:如果想递归所有目录加上相同权限,需要加上参数 -R
如:
chmod 777 test/ -R
递归 test 目录下所有文件加 777 权限
apt
命令更新仓库列表:
sudo apt update
更新系统及应用:
sudo apt dist-upgrade
安装依赖:
sudo apt build-dep 应用名
下载源码:
apt source 软件名
搜索依赖库或程序名:
sudo apt-cache search 依赖名或者软件名
查看所有已安装软件名:
apt list