Ubuntu基础常用命令大全
目录:
终端命令格式的组成
格式:
command [-options] [parameter]
每项信息的说明:
- command:命令名, 比如: ls、cd、pwd等
- [-options]:选项,可以有零个、一个或者多个选项,多个选项可以合并,比如使用的 -r 或-p 等都是选项。
- [parameter]:参数,可以有零个、一个 或者 多个参数, 比如: touch 文件名、mkdir 目录名、cd 目标目录(路径),这些文件名和目录名都是参数。
- []:代表可选
总结:
- 终端命令完整格式: 命令名 选项(可选) 参数(可选)
- 选项:用于调整命令的功能,比如:-r选项调整cp命令的功能。
- 选项可以分为短选项和长选项
- 短选项的格式: '-'后面接单个字母, 比如:-r
- 长选项的格式: '--'后面接单词, 比如:--help
- 参数:命令的操作对象,一般是文件名或者目录名。
- 对于命令,它的选项和参数一般情况下没有顺序要求,但是scp命令是必须先选项然后在跟上参数。
查看目录命令
ls命令选项使用
命令选项 | 说明 |
---|---|
-l | 以列表方式显示 |
-h | 以大小单位显示,默认是字节 |
-a | 显示隐藏文件和隐藏目录 |
例:ls -lha # 就是以列表方式显示出当前目录的所有文件(包括隐藏文件和目录)的大小以及其他信息。
切换目录命令
cd命令选项使用
命令 | 说明 |
---|---|
cd 目录 | 切换到指定目录 |
cd ~ | 切换到当前用户的主目录 |
cd .. | 切换到上一级目录 |
cd . | 切换到当前目录 |
cd - | 切换到上一次目录 |
注意:
- cd命令切换目录时,这个目录必须存在。
- cd 后面不写目录等价于cd ~
例:cd AA/BB # 切换到AA目录下的BB目录中
创建、删除文件及目录命令
命令 | 说明 |
---|---|
touch 文件名 | 创建指定文件 |
mkdir 目录名 | 创建目录(文件夹) |
rm 文件名或者目录名 | 删除指定文件或者目录 |
rmdir 目录名 | 删除空目录 |
注意:
- rm 表示删除文件或者目录,如果删除目录需要使用 -r 选项,rm -r 表示递归删除目录及其内容
例:touch ~/Desktop/hello.txt # 在桌面路径下新建一个名为hello.txt的文件
mkdir ~/Desktop/wtt.txt # 在桌面路径下新建一个名为wtt.txt的目录(文件夹)
rm ~/Desktop/hello.txt # 删除桌面上的hello.txt文件
rm -r ~/Desktop/wtt.txt # 删除桌面上的wtt.txt目录(文件夹)
复制、移动文件及目录命令
命令 | 说明 |
---|---|
cp | 拷贝文件、拷贝目录 |
mv | 移动文件、移动目录、重命名 |
注意:
- 拷贝目录需要加上 -r 选项,cp -r 表示递归拷贝目录及其内容
例:cp csdn.txt ~/Desktop/ # 就是将当前目录下的csdn.txt这个文件拷贝到桌面 (原文件不动)
mv csdn.txt ~/Desktop # 就是将当前目录下的csdn.txt这个文件移动到桌面(原文件消失,只有桌面上出现了csdn.txt)
重定向命令
命令 | 说明 |
---|---|
> | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
>> | 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 |
说明:只要在终端能显示信息的命令都可以使用重定向,比如: ls、tree
例:ls > 1.txt # 将当前目录信息的输出结果 存在 1.txt 文件中。
ls -a >> 1.txt # 将当前目录信息的所有信息(包括隐藏文件)的输出结果追加到1.txt文件中。
链接命令的介绍
链接命令是创建链接文件,链接文件分为:
- 软链接
- 硬链接
命令 | 说明 |
---|---|
ln -s | 创建软链接 |
ln | 创建硬链接 |
说明:
- 软链接的作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作。
- 创建软链接命令格式: ln -s 源文件路径(使用绝对路径) 软链接
- -------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。
- 删除源文件,软链接失效,但是硬链接依然可以使用。
- 创建硬链接命令格式: ln 源文件路径 硬链接
例:ln -s ~/Desktop/1.txt 1-s.txt # 将桌面上的1.txt文件创建一个名为 1-s.txt的软连接,即通过1-s.txt能够修改、访问到1.txt
ln ~/Desktop/2.txt 2-n.txt # 将桌面上的2.txt文件创建一个名为 2-n.txt的硬链接,即通过2-n.txt能够修改、访问到2.txt
查看文件内容命令
命令 | 说明 |
---|---|
cat | 查看小型文件 |
more | 分屏查看大型文件 |
说明:
- cat命令结合重定向可以完成多个文件的合并
- gedit 文件编辑命令,可以查看和编辑文件
- 当查看内容信息过长无法在一个页面上显示时,可以使用more命令在终端分屏显示文件的内容。
使用more命令查看文件内容的操作键说明:
操作键 | 说明 |
---|---|
空格 | 显示下一屏信息 |
回车 | 显示下一行信息 |
b | 显示上一屏信息 |
f | 显示下一屏信息 |
q | 退出 |
例: cat hello.txt # 即查看当前目录下hello.txt文件中的内容
more hello.txt # 即使用分屏方式查看当前目录下的hello.txt文件中的内容
查找文件命令
find命令及选项的使用
命令 | 说明 |
---|---|
find | 在指定目录下查找文件(包括目录) |
find命令选项:
选项 | 说明 |
---|---|
-name | 根据文件名(包括目录名)字查找 |
例: find ~/Desktop -name 1.txt # 即在桌面目录下查找1.txt这个文件
find命令结合通配符的使用
通配符:
是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件
通配符 | 说明 |
---|---|
* | 代表0个或多个任意字符 |
? | 代表任意一个字符 |
例:find ~/Desktop -name "*.txt" # 即在桌面目录下查找所有以.txt后缀结尾的文件
find ~/Desktop -name "?.txt" # 即在桌面目录下查找所有以.txt后缀结尾的文件,但是必须是前缀只有一个字节,如1.txt,A.txt等。
搜索文本内容命令
grep命令的使用
命令 | 说明 |
---|---|
grep | 文本搜索 |
例:grep "a" hello.txt # 即在当前目录下中的hello.txt文件中查看含有字母a的所有内容
grep命令选项的使用
命令选项 | 说明 |
---|---|
-i | 忽略大小写 |
-n | 显示匹配行号 |
-v | 显示不包含匹配文本的所有行 |
例:grep -in "a" hello.py # 即在当前目录下中的hello.py文件中不区分大小写并且显示行号的查找出含有"a“字母的所有内容
加 -v 则是取反。
grep命令结合正则表达式的使用
正则表达式 | 说明 |
---|---|
^ | 以指定字符串开头 |
$ | 以指定字符串结尾 |
. | 匹配一个非换行符的字符 |
例:grep -inv "^a" hello.py # 即在当前目录下中的hello.py文件中不区分大小写并显示行号的查找出所有不以"a"字母开头的内容。
grep -inv "z$" hello.py # 即在当前目录下中的hello.py文件中不区分大小写并显示行号的查找出所有不以”z"字母结尾的内容
grep -inv "A.A" hello.py # 即在当前目录下中的hello.py文件中不区分大小写并显示行号的查找出所有不含有"A*A"的内容。
vim 的常用命令
命令 | 说明 |
---|---|
yy | 复制光标所在行 |
p | 粘贴 |
dd | 删除/剪切当前行 |
V | 按行选中 |
u | 撤销 |
ctr+r | 反撤销 |
>> | 往右缩进 |
<< | 往左缩进 |
:/搜索的内容 | 搜索指定内容 |
:%s/要替换的内容/替换后的内容/g | 全局替换 |
:开始行数,结束行数s/要替换的内容/替换后的内容 | 局部替换 |
. | 重复上一次命令操作 |
G | 回到最后一行 |
gg | 回到第一行 |
数字+G | 回到指定行 |
shift+6 | 回到当前行的行首 |
shift+4 | 回到当前行的行末 |
ctr+f | 下一屏 |
ctr+b | 上一屏 |
压缩和解压缩命令
tar命令及其选项的使用
命令 | 说明 |
---|---|
tar | 压缩和解压缩命令 |
tar命令选项:
选项 | 说明 |
---|---|
-c | 创建打包文件 |
-v | 显示打包或者解包的详细信息 |
-f | 指定文件名称, 必须放到所有选项后面 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
例:tar -zcvf aaa.tar.gz * # 即将当前目录下的所有文件打包压缩成一个名为aaa.tar.gz的gz压缩文件,压缩文件存放在当前目录
tar -jcvf bbb.tar.bz2 * # 即将当前目录下的所有文件打包压缩成一个名为bbb.tat.bz2的bz2压缩文件,压缩文件存在当前目录
tar -zxvf aaa.tar.gz -C ~/Desktop # 即将aaa.tar.gz这个压缩包解压在桌面上
tar -jxvf bbb.tar.bz2 -C ~/Desktio # 即将bbb.tar.bz2这个压缩包解压在桌面上
zip和unzip命令的选项的使用
命令 | 说明 |
---|---|
zip | 压缩成.zip格式文件 |
unzip | 解压缩.zip格式文件 |
unzip命令选项:
选项 | 说明 |
---|---|
-d | 解压缩到指定目录 |
例:zip abcd.zip *.txt # 即将当前目录下的所有以.txt文件结尾的文件解压为一个名为abcd的zip压缩文件
unzip abcd.zip -d ~/Desktop # 即将当前目录下的abcd.zip压缩文件解压在桌面上
修改文件权限
chmod命令的介绍
命令 | 说明 |
---|---|
chmod | 修改文件权限 |
chmod修改文件权限有两种方式:
- 字母法
- 数字法
chmod字母法的使用
角色说明:
角色 | 说明 |
---|---|
u | user, 表示该文件的所有者 |
g | group, 表示用户组 |
o | other, 表示其他用户 |
a | all, 表示所有用户 |
权限设置说明:
操作符 | 说明 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设置权限 |
权限说明:
权限 | 说明 |
---|---|
r | 可读 |
w | 可写 |
x | 可执行 |
- | 无任何权限 |
例:sudo chmod a=rwx wtt.txt # 是将wtt.txt这个文件的权限设置为rwxrwxrwx 即文件所属用户、文件所属用户组、其他人对这个文件的权限都为可读、可写、可执行。
sudo chmod u-x wtt.txt # 是将wtt.txt这个文件的权限设置为rw-rwxrwx 即文件所属用户只有可读、可写权限,没有可执行权限,而文件所属用户组、其他人对这个文件的权限依然为可读,可写,可执行。
sudo chmod u=rwx,g-wx,o=- wtt.txt # 是将wtt.txt这个文件的权限设置为rwxr--r-- 即文件所属用户拥有读写执行权限,而文件所属用户组只有只读权限,而其他人则无任何权限。
chmod数字法的使用
数字法就是“rwx” 这些权限也可以用数字来代替
权限说明:
权限 | 说明 |
---|---|
r | 可读,权限值是4 |
w | 可写,权限值是2 |
x | 可执行,权限值是1 |
- | 无任何权限,权限值是0 |
例:sudo chmod 777 wtt.txt # 是将wtt.txt这个文件的属性设置为rwxrwxrwx,即文件所属用户、文件所属用户组、其他人都有读写执行的权限。
sudo chmod 751 wtt.txt # 是将wtt.txt这个文件的属性设置为rwxr-x--x,即文件所属用户满权限,文件所属用户组是只有读和执行的权限,而其他人则只有执行的权限。
其他权限
sudo命令的使用
命令 | 说明 |
---|---|
sudo -s | 切换到root用户,获取管理员权限 |
sudo | 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo |
whoami命令的使用
命令 | 说明 |
---|---|
whoami | 查看当前用户 |
exit命令的使用
命令 | 说明 |
---|---|
exit | 退出登录用户 |
who命令的使用
命令 | 说明 |
---|---|
who | 查看所有的登录用户 |
passwd命令的使用
命令 | 说明 |
---|---|
passwd | 修改用户密码,不指定用户默认修改当前登录用户密码 |
which命令的使用
命令 | 说明 |
---|---|
which | 查看命令位置 |
关机和重启命令的使用
命令 | 说明 |
---|---|
shutdown –h now | 立刻关机 |
reboot | 重启 |
用户相关操作
创建用户
命令 | 说明 |
---|---|
useradd | 创建(添加)用户 |
useradd命令选项:
选项 | 说明 |
---|---|
-m | 自动创建用户主目录,主目录的名字就是用户名 |
-g | 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组 |
id命令查看用户信息:
命令 | 说明 |
---|---|
id | 查看用户信息 |
说明:
- 查看用户是否创建成功,可以查看/etc/passwd这个文件
- 查看用户组是否创建成功,可以查看/etc/group这个文件
例:sudo useradd -m -g WTT #创建一个名为WTT的用户,并且用户主目录为WTT,用户组为WTT
设置密码
给其它用户设置密码,需要使用: sudo passwd 用户名
切换用户
命令 | 说明 |
---|---|
su | 切换用户 |
修改用户信息
命令 | 说明 |
---|---|
usermod | 修改用户信息 |
usermod选项:
命令 | 说明 |
---|---|
-G | 设置一个附加组 |
-g | 修改用户组 |
例:sudo usermod -G sudo WTT # 给WTT用户添加一个名为sudo的附加组
sudo usermod -g abc WTT # 给WTT用户分配到abc这个用户组中
添加、删除附加组
命令 | 说明 |
---|---|
gpasswd | 添加和删除附加组信息 |
gpasswd命令选项:
选项 | 说明 |
---|---|
-a 用户名 | 给用户添加附加组 |
-d 用户名 | 给用户删除附加组 |
例:sudo gpasswd -a WTT sudo # 给WTT这个用户添加附加组sudo
sudo gpasswd -d WTT sudo # 把WTT这个用户的附加组wudo删除
删除用户
命令 | 说明 |
---|---|
userdel | 删除用户 |
userdel命令选项:
选项 | 说明 |
---|---|
-r 用户名 | 删除用户主目录,必须要设置,否则用户主目录不会删除 |
例:sudo userdel -r WTT # 删除WTT这个用户,并且把WTT的主目录一起删除
用户组相关操作
创建用户组
命令 | 说明 |
---|---|
groupadd | 创建(添加)用户组 |
例:sudo groupadd zu1 #创建一个用户组zu1
删除用户组
命令 | 说明 |
---|---|
groupdel | 删除用户组 |
例:sudo groupdel zu1 #删除用户组zu1
注意:如果用户组中有用户,请先删除用户。
远程登录、远程拷贝命令
命令 | 说明 |
---|---|
ssh | 远程登录 |
scp | 远程拷贝 |
ssh命令格式:
ssh 用户名@ip地址
例:在windows的cmd命令窗口中输入 ssh wtt@192.168.1.1 # 这里的wtt指的是服务器的用户名,@后面的ip地址指的是服务器的ip地址。然后根据提示输入 yes ,再输入服务器的用户密码 ,即可登录到服务器,对服务器进行操作。
注:在服务器的终端窗口输入ifconfig可以查看服务器的ip地址。
scp命令格式:
- 远程拷贝文件
- scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
- scp 远程服务器用户名@远程服务器ip地址:远程服务器文件 指定拷贝到本地电脑的路径
- 注:scp -r 即可上传下载目录。