![55c39456de2b59bb3b84c2bda52acc46.png](https://img-blog.csdnimg.cn/img_convert/55c39456de2b59bb3b84c2bda52acc46.png)
当前登录的用户名@主机名:当前所在目录$
$: 普通用户
#: root 用户
1. Linux 目录
/
根⽬录,代表的是计算机的磁盘。
/home
存放⽤户主⽬录的⽬录,每⼀个⽤户都会分配⼀个主⽬录,⼀般情况下,⽤户的主⽬录的名字和⽤户名是⼀样的 /home/⽤户名
。
/bin
常⽤命令的存储⽬录(可执行的二进制程序)。
/etc
配置⽂件存放的⽬录。
/root
超级管理员(root ⽤户)的主⽬录。
2. 清屏_自动补全
默认打开⼀个终端,所在的⽬录是⽤户的主⽬录。
清除终端内容命令 clear
快捷方式 Ctrl l(L)
自动补全: tab
命令,⽂件,目录
- ⼀次 tab,如果能够找到唯⼀的内容,就补全。
- 两次 tab,列出所有可能的内容。
3. 查看目录命令
查看目录信息 ls
list
ls
默认查看当前目录中的内容。
ls 目录
查看指定目录中的内容,目录必须存在,如果不存在,会报错。
-a
,--all
不隐藏任何以.
开始的项⽬(在Linux 系统,任何以点开头的⽂件是隐藏⽂件,默认不显示)。-h
,--human-readable
结合-l
使⽤,打印显示⼈类可读字节大小,默认以字节为单位进⾏显示)。-l
使⽤较⻓格式列出信息(显示⽂件的详细信息)。
以树状形式显示目录信息 tree
tree
默认树状形式显示当前目录中的内容(会把⽬录中的⽬录也显示出来 )
tree 目录
查看指定目录中的内容,目录必须存在,如果不存在,会报错。
查看当前所在的目录 pwd
print working directory
4. 切换目录命令 cd
切换到指定目录 cd ⽬录
⽬录需要存在。
切换到当前用户的主目录 cd ~
cd
,⽤户的主⽬录可以使⽤ ~
表示
切换到上⼀级目录 cd ..
切换到当前目录 cd .
切换到上⼀次目录 cd -
5. 绝对路径和相对路径
相对路径:从当前⽬录开始计算的路径
./
当前⽬录, 可以不写
../
上⼀级⽬录
绝对路径:从根⽬录开始的路径 /
6. 创建_删除文件及目录命令
创建文件 touch ⽂件名
创建目录(文件夹) mkdir 目录
mkdir -p
parent:⽗级⽬录不存在,会⾃动创建,存在不会影响。
删除指定文件 rm ⽂件名
删除指定目录
删除空目录 rmdir 空目录名
删除任意目录 rm -r 目录
-i
交互提示是否删除-r
删除⽬录-f
⽂件不存在,不会报错-d
删除空⽬录,等价于rmdir
通⽤的组合:rm -rf
7. 复制_移动文件及目录命令
复制命令:cp
copy
复制文件:cp 原文件的路径 ⽬标⽂件的路径
路径可以使⽤相对路径也可以使⽤绝对路径
- 如果没有指定目标文件的名字,直接使⽤原来的名字。
- 如果指定目标文件的名字,就使⽤指定的名字。
- 如果目标⽂件名存在, 直接覆盖原文件。
复制目录:cp -r 原⽬录路径 ⽬标⽬录的路径
- ⽬标路径不存在,直接将原⽬录复制为⽬标⽬录。
- ⽬标⽬录存在,会将原⽬录拷⻉到⽬标⽬录中。
-r
拷⻉⽬录-v
显示复制的路径描述-i
提示是否会覆盖-a
保留权限
移动命令:mv
move
mv 原⽂件(⽬录)路径 ⽬标⽂件(⽬录)路径
- 不管是⽂件还是⽬录,使⽤的都是
mv
。 - 对于⽂件,⽬标⽂件存在,覆盖 。
- 对于⽬录,⽬标路径不存在,直接将原⽬录移动为⽬标⽬录;如果存在,直接移动到指定⽬录中。
-v
显示复制的路径描述-i
提示是否会覆盖
8. 终端命令格式的组成
命令 [-选项]... [参数]...
[-选项]
可以有,也可以没有,还可以有多个;选项的作⽤是⽤来调整命令的功能,让命令更加强⼤,(cp
只能复制⽂件,cp -r
就可以复制⽬录)。[参数]
可以有,也可以没有,还可以有多个,是操作的对象。- 注意:命令选项和参数之间,⾄少需要⼀个空格。
9. 查看命令帮助
命令 --help
man 命令
- 下一页:
空格
或f
forward - 上一页:
b
backward - 下一行:
回⻋
- 退出:
q
- 搜索查找
/查找的内容
- 上⼀个:
N
- 下⼀个:
n
10. 重定向命令
将终端命令的执行结果保存到文件中。
使用 命令 >|>> 文件名
:
>
覆盖原有内容,相当于是w
模式>>
追加内容,相当于是a
模式
echo 内容
回显命令,将 echo
后的参数显示在终端中,类似print
。
11. 管道命令 |
管道可以连接两个命令,将管道前边命令的输出结果作为管道后边命令的输入(参数)
管道命令通常和 more
结合使用,用于分屏查看文件 ls --help | more
还可以和 grep
命令结合使用
12. 查看文件内容
查看小型文件(一屏可以显示的内容) cat 文件名
分屏查看大型文件 more 文件名
- 下一页
f
空格
- 上一页
b
- 下一行
回车
- 退出
q
gedit 文件名
打开记事本命令,必须在有界面的环境中使用
13. 文本搜索命令(查找文件内容)
grep [-选项] '要查找的内容' 文件名(在什么地方进行查找)
-i
忽略大小写-n
显示匹配行号-v
显示不包含匹配文本的所有行
结合正则表达式使用,使用特定的字符,来代表常用的查找的内容。
![147fab71feb27ef45b26290506c4458b.png](https://img-blog.csdnimg.cn/img_convert/147fab71feb27ef45b26290506c4458b.png)
grep
都是按行进行查找的- 正则中的
.
可以放在字符串中的任意位置 -n
-v
-i
的顺序没有限制的,可以随便书写
14. 链接命令
软链接:类似于Windows下的快捷方式,方便快速的访问文件。
ln -s 原文件的路径(推荐使用绝对路径) 链接文件的路径(快捷方式的路径)
- 删除原文件,链接文件不能使用
- 对原文件重命名/移动,链接文件不能使用
- 创建软链接必须指定选项
-s
, 软链接的文件类型是l(小写的 L)
- 可以对目录创建软链接
- 原文件路径推荐使用绝对路径
硬连接
ln 原文件路径 硬连接文件的路径
- 硬连接和
cp
的区别:创建一个硬连接,只是给文件起一个别名;而cp
复制一个文件,会将文件复制一份。 - 不管是原文件还是新创建的硬连接,都是文件的一个名字,删除这个名字之后,文件不一定会被删除,只有当文件的硬连接计数为 0,才会删除。
- 我们不能对目录创建硬连接。
- 怎么查看一个文件的所有硬连接
ls -i
查看文件 iNode 节点,文件在硬盘中的唯一性标识。find 路径 -inum iNode节点
不能创建目录的硬连接,目录共有三个硬连接:名字
.
..
15. 查找文件命令
- 查找文件命令
find 路径 -name 要查找的文件名
- 通配符
- 任意个字符
*
- 任意一个字符
?
- 任意个字符
- 通配符可以和任意的命令结合使用
bash rm -rf *.txt # 删除所有的txt文件 rm -rf ?.txt # 只有一个字符的文件名字
16. 压缩和解压缩命令
压缩格式 gz格式
, bz2格式
, zip格式
, 不同的压缩格式,压缩的压缩的算法不一样,压缩之后的大小不一样。
命令 tar
, zip/unzip
tar 命令选项
-z
压缩成 gz 格式-j
压缩成 bz2 格式-c
创建打包文件-x
解包-v
显示详细信息-f
指定压缩包名, 一定要放在所有选项的最后边-C
解压到指定目录
gz 格式的压缩和解压缩
# 压缩
tar -zcvf 压缩包名.tar.gz 要压缩的文件
# 解压缩
tar -zxvf 压缩包名.tar.gz # 直接解压到当前目录
tar -zxvf 压缩包名.tar.gz -C 目录 # 直接解压到指定目录, 目录必须存在
bz2 格式的压缩和解压缩
# 压缩
tar -jcvf 压缩包名.tar.bz2 要压缩的文件
# 解压缩
tar -jxvf 压缩包名.tar.bz2 # 直接解压到当前目录
tar -jxvf 压缩包名.tar.bz2 -C 目录 # 直接解压到指定目录, 目录必须存在
zip 格式的压缩和解压缩
zip 压缩包名.zip 压缩的文件
unzip 压缩包的名字 # 解压到当前目录
unzip 压缩包的名字 -d 目录 # 解压到指定目录
17. 管理员操作
- 临时获得管理员权限
sudo 命令
- 切换管理员用户
sudo -s
- 查看当前登录的用户
whoami
- 查看所有登录的用户
who
- 退出登录的用户
exit
- 修改用户的密码
sudo passwd 用户名
- 查看命令位置
which 命令
- 关机
shutdown -h now
- 重启
reboot
18. 文件权限
Linux 系统支持多用户多终端同时登录,不同的用户对于同一个文件的操作权限(就是能够进行什么样的操作)是不一样的。ls -l
查看不同用户对文件具有的权限
-rw-r--r-- 1 ubuntu ubuntu 16932 7月 22 11:59 test.zip drwxr-xr-x 2 ubuntu ubuntu 4096 7月 22 12:00 zip
rw-r--r-- 和 rwxr-xr-x 表示的就是文件的权限
Linux 操作系统, 将一个文件的权限分为三部分,每部分使用三个字母表示,分别是r
读、w
写 、x
执行(文件能否运行)、-
占位(没有权限)。
- 从左到右,前三个字母,是第一组的权限,表示的权限是文件拥有者具有的权限(文件是哪个用户创建的);Linux 下,每一个文件都有一个所属用户,即文件是谁创建的。
- 中间的三个字母,第二组权限,文件所属组的权限;每个文件还会分配一个组,默认属于所属用户的组;Linux 下, 每个用户都有一个组,一个组中可以有多个用户。
- 最后三个字母,第三组权限,其他用户的权限(不是以上两种用户)。
修改权限chmod
- 字母法修改
- 角色
u
user 所属用户g
group 所属组o
other 其他用户a
all 所有用户
- 操作符
+
添加权限-
取消权限=
将权限设置为什么
- 角色
# 文件的拥有者去修改权限(root 能修改)
chmod 权限设置 文件名
- 数字法修改
权限分为三组, 对每一组权限使用一个数字表示,这个数字是由r(4), w(2), x(1)
相加得到。
rwx 4+2+1 7
rw- 4+2 6
r-x 4+1 5
r-- 4 4
--- 0 0
chmod xxx 文件名
chmod 000 文件名
chmod 777 文件名
chmod 644 文件名
19. 用户相关操作
创建用户(自动创建用户的主目录):sudo useradd -m 用户名
查看用户信息:id 用户名
给用户设置密码(默认没有密码,需要先给用户设置密码):sudo passwd 用户名
切换用户:
su - 用户名 # 切换用户和用户的主目录
su 用户名 # 切换用户,不切换目录
exit # 退出当前用户
删除用户:sudo userdel -r 用户名
如果不指定 -r
,不会自动删除用户的主目录
系统中所有的用户:查看/etc/passwd
文件
系统中所有的用户组:查看/etc/group
文件
20. 用户组相关操作
创建用户组:
sudo groupadd 用户组名
# 创建用户的同时,指定用户组
sudo useradd -m -g 用户组 用户名
sudo useradd -m 用户名 -g 用户组
sudo useradd -g 用户组 -m 用户名
删除用户组(要求用户组中没有用户):sudo groupdel 用户组名
21. 其他命令
which 命令名/应用程序名
查找命令或应用程序的所在位置