linux-ubuntu20.04常用命令
linux常用命令
基础知识
绝对路径和相对路径
绝对路径就是从根目录算起的,相对路径就是从当前文件所在目录算起的路径叫相对路径。例如:/home/python/Desktop就是绝对路径./test/hello就是相对路径
终端命令格式说明
终端命令格式说明command [-options] [parameter]
每项信息的说明:
command:命令名, 比如: ls、pwd
[-options]:选项,可以有零个、一个或者多个选项,多个选项可以合并,比如使用的 -r 就是选项。
[parameter]:参数,可以有零个、一个 或者 多个参数, 比如: touch 文件名、mkdir 目录名、cd 目标目录(路径),这些文件名和目录名都是参数。
[]:代表可选
选项可以分为短选项和长选项:
短选项的格式: '-'后面接单个字母, 比如:-r
长选项的格式: '–'后面接单词, 比如:–help
对于命令,它的选项和参数一般情况下没有顺序要求,但是scp命令是必须先选项然后在跟上参数。
查看命令帮助
man 命令命令 --help
–help和man是查看命令帮助的两种方式,主要是查看命令所对应的选项信息。
快捷键
ctrl+c跳出/停止当前的命令
ctrl+a和ctrl+e
ctrl+a可以直接把光标定位到输入的命令的最前方
ctrl+e可以直接吧光标定位到输入的命令的最后方
linux基础命令
ls、tree命令
ls命令只能查看本级目录下的文件。ls -l以列表方式显示ls -h把大小单位显示出来,默认是字节,超过1024字节则按K显示,超过1024K则按M显示,以此类推ls -a显示隐藏文件tree命令可以以树状结构展示本级及本级目录之下的所有文件和文件夹。(ubuntu默认可能没有这个命令,需要sudo apt-get install tree安装)tree 目录则可以直接查看目录下的所有文件。
文件和文件夹的权限

pwd命令
pwd命令可以查看当前所在的工作目录
cd切换目录
| 命令 | 说明 |
|---|---|
cd 目录 |
切换到指定目录 |
cd ~ |
切换到用户家目录 |
cd .. |
切换到上一级目录 |
cd - |
切换到上一次使用的目录 |
cd . |
切换到当前目录 |
创建、删除文件及目录rm和mkdir命令的使用
| 命令 | 说明 |
|---|---|
| touch 文件名 | 创建指定文件 |
| rm 文件 | 删除文件 |
| rm -r 目录名 | 以递归的方式将目录以及目录下的全部文件删除 |
| rm -i | 交互式提示 |
| rm -f | 如果文件不存在,也不提示 |
| mkdir 目录名 | 创建一个目录 |
| mkdir -p | 创建所依赖的文件夹,例如mkdir -p AA/BB/CC,会自动创建AA和BB和CC目录 |
| rmdir 目录名 | 只能删除空目录 |
总结:
创建嵌套文件夹使用 mkdir –p嵌套目录
删除空目录使用 rmdir 目录名 或者 rm –d 目录名
删除非空目录使用 rm –r 目录名
复制、移动文件和目录的cp、mv命令
| 命令 | 说明 |
|---|---|
| cp 文件名 | 拷贝文件 |
| cp -r 目录名 | 以递归方式拷贝目录,cp拷贝目录必须加-r参数 |
| cp -a | -a参数表示保留原文件的权限 |
| mv | 移动文件、移动目录、文件重命名 |
总结:
拷贝文件防止覆盖使用 cp –i操作
拷贝文件夹使用 cp –r操作,拷贝文件夹并且文件权限不丢失使用 cp –a 操作。
移动文件防止覆盖使用 mv –i 操作
移动文件夹直接使用 mv 即可,mv 还可以给文件和文件夹重命名。
linux高级命令
重定向命令>和>>
重定向也成为输出重定向,把在终端执行显示内容重定向到文件。
| 命令 | 说明 |
|---|---|
| > | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
| >> | 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 |
查看文件内容命令
cat命令,适合查看小型文件
more命令,可以分屏查看大型文件
more命令操作键说明:
| 操作键 | 说明 |
|---|---|
| 空格 | 显示下一屏 |
| 回车 | 显示下一行 |
| b | 显示上一行 |
| v | 进入vim模式 |
| q | 退出 |
管道 | 的使用
管道(|):一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。
管道(|)一般结合 more 命令使用,即一条命令运行完,结果太多不好查看,管道符后面接more命令,则可以更好的查看上一条命令的输出内容。
链接命令
| 命令 | 说明 |
|---|---|
| ln -s 源文件 软链接文件 | 创建软链接,类似Windows的快捷方式,源文件必须使用绝对路径 |
| ln源文件 硬链接文件 |

软链接注意点:
如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
删除源文件则软链接失效
可以给目录创建软链接
硬链接注意点:
创建硬链接使用相对路径和绝对路径都可以
删除源文件,硬链接还可以访问到数据。
创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
创建软链接,硬链接数不会加1
不能给目录创建硬链接
硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。
文本过滤查找grep命令
| 命令 | 说明 |
|---|---|
| grep -i | 忽略大小写 |
| grep -n | 显示匹配行号 |
| grep -v | 显示不包含匹配的所有行 |
举例:
grep结合正则表达式使用:
| 正则表达式 | 说明 |
|---|---|
| grep ‘^J’ /var/log/syslog | 过滤以J开头的 |
| grep ‘s$’ /var/log/syslog | 过滤以s结尾的 |
查找文件find命令
| 命令 | 说明 |
|---|---|
| find -name | 根据文件名(包括目录名)去查找 |
| find . -name ‘*a’ | 在当前目录下查找以a结尾的文件或文件夹,*是通配符,代表0个或多个任意字符 |
| find . -name ‘?a’ | 在当前目录下查找名字为“?a”的文件或文件夹,?是通配符,代表任意一个字符 |
| find . -name ‘*abc"’ | 在当前目录下查找名字包含abc字符串的文件或文件夹【最常用】 |
通配符不仅能结合 find 命令使用,还可以结合其它命令使用, 比如: ls、mv、cp 等,这里需要注意只有 find 命令使用通配符需要加上引号。
压缩和解压命令
tar命令用于压缩解压缩,支持gz和bz2两种压缩格式
| 命令参数 | 说明 |
|---|---|
| -c | 打包 |
| -v | 显示打包或解包的详细信息 |
| -f | 指定文件名,必须放到所有选项后面 |
| -z | 使用gz格式压缩或解压缩 |
| -j | 使用bz2格式压缩或解压缩 |
| -x | 解包 |
| -C | 解压缩到指定目录 |
例如:tar -xzvf test.tar.gz -C /home/securitytar -czvf test.tar.gz 1.txt 2.txt 3.txt
zip和unzip命令用于压缩和解压缩zip格式的压缩包
| 命令 | 说明 |
|---|---|
| zip | 压缩 |
| unzip | 解压缩 |
| unzip -d | 解压缩到指定目录 |
例如:zip test.zip 1.txt 2.txt 3.txtunzip test.zip -d /home/security
总结:
压缩文件尽量使用.gz格式,因为占用空间较少。
使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单。
文件权限修改命令
权限说明
| 权限 | 说明 |
|---|---|
| r | 读 |
| w | 写 |
| x | 执行 |
| - | 无任何权限 |
角色说明
| 角色 | 说明 |
|---|---|
| u | user,文件所有者 |
| g | group,文件所有者所在的用户组 |
| o | other,其他用户 |
| a | all,所有用户 |
使用chmod命令可以修改文件的权限,该命令有2种写法:字母法和数字法。
子母法:
| 操作符 | |
|---|---|
| + | 增加权限 |
| - | 撤销权限 |
| = | 设置权限 |
例如:
chmod u+w 1.txt
chmod g-w 1.txt
chmod o+x 1.txt
chmod u=rwx 1.txt
数字法:
| 权限 | 权限值 |
|---|---|
| r | 4 |
| w | 2 |
| x | 1 |
| x | 0 |
例如:chmod 777 1.txt
who命令查看用户
who查看所有的登录用户whami查看当前使用的用户
修改用户的密码
passwd命令用于修改用户的密码,后面不指定用户名的时候,默认修改当前登录用户的密码。
添加用户useradd命令
| 命令 | 说明 |
|---|---|
| useradd -m | 自动创建用户的家目录,家目录的名字就是用户名 |
| useradd -g | 指定用户所属的用户组,不指定则默认创建和用户名同名的用户组 |
删除用户userdel命令
| 命令 | 说明 |
|---|---|
| userdel -r xiaoming | 删除xiaoming这个用户,-r参数代表同时删除这个用户的家目录 |
查看用户和组是否创建成功
查看用户是否创建成功,可以cat /etc/passwd这个文件
查看用户组是否创建成功,可以cat /etc/group这个文件
passwd文件中的每项信息说明,以root❌0:0:root:/root:/bin/bash为例:
第一个:用户名
第二个:密码占位符
第三个:uid, 用户id
第四个:gid, 用户所在组id
第五个:用户描述, 可选,
第六个:用户的主目录所在位置
第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型
group文件中的每项信息说明, 以laowang❌1001:为例:
第一个:用户组名
第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的
第三个:组id
查看用户的uid和gid
使用id命令。例如id laowang
切换用户su命令
直接使用su 用户名即可完成用户的切换
修改用户组
使用usermod命令可以修改用户的组,也可以给用户设置附加组:
| 命令 | 说明 |
|---|---|
| usermod -G | 给用户设置一个sudo附加组 |
| usermod -g | 修改用户组 |
root@linux:/home/xiaoming# usermod -G sudo xiaoming
root@linux:/home/xiaoming# id xiaoming
uid=1000(xiaoming) gid=1000(xiaoming) groups=1000(xiaoming),27(sudo)
root@linux:/home/xiaoming#
给用户添加或删除附加组
| 命令 | 说明 |
|---|---|
| gpasswd -a xiaoming sudo | 给小明添加sudo附加组,xiaoming必须在前,sudo在后 |
| gpasswd -d xiaoming sudo | 给小明删除sudo附加组,xiaoming必须在前,sudo在后 |
创建用户组
groupadd test代表用来创建(添加)一个用户组"test"groupadd -m -g test xiaoming代表创建一个用户xiaoming,并指定xiaoming用户组是test
删除用户组
groupdel test代表删除用户组“test”
远程登录ssh命令
ssh -p 22 security@192.168.1.1
以上命令中-p代表指定端口号,security代表用户,@后面是服务端的ip地址|
远程拷贝scp命令
把本地文件拷贝到远端目录:scp -r 本地文件 security@192.168.1.1:/home/security
把远端文件拷贝回本地:scp -r security@192.168.1.1:/home/security/1.txt 本地目录
编辑器vim
vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。
末行模式
| :w | 保存 |
| :wq | 保存退出 |
| :x | 保存退出 |
| :q! | 强制退出 |
| :/张三 | 搜索张三,按n从光标位置向下查找下一个结果,按N从光标位置向上查找下一个结果 |
| :%s/张三/李四/g | 全局将张三替换成李四 |
| :开始行数,结束行数s/张三/李四 | 将行数范围内局部张三替换成李四 |
| :set nu | 显示行号 |
命令模式
| 命令 | 说明 |
|---|---|
| yy | 复制光标所在行内容 |
| p | 粘贴 |
| dd | 删除光标所在行内容 |
| V | 选中光标所在行内容 |
| u | 撤销 |
| ctrl + r | 反撤销 |
| > | 向右缩进 |
| < | 向左缩进 |
| . | 重复上一次命令 |
| G | 把光标移到最后一行 |
| gg | 把光标移到第一行 |
| dG | 删除光标所在行及以下全部内容 |
| 数字+G | 回到指定行 |
| shift+6 | 回到当前行的行首 |
| shift+4 | 回到当前行的末尾 |
| ctrl+f | 下一屏 |
| ctrl+b | 上一屏 |
安装软件
在线安装与卸载
sudo apt-get install xxx这条命令代表在线安装xxx软件。sudo apt-get remove xxx这条命令代表卸载xxx软件。
deb格式安装包离线安装与卸载
| 命令 | 说明 |
|---|---|
| dpkg -i xxx.deb | 安装xxx.deb软件 |
| dpkg -r xxx.deb | 卸载xxx.deb软件 |
查看已经安装哪些软件包
两种方法,下述命令中,xxx填写你要查找的软件包名:sudo apt list | grep 'xxx'sudo dpkg -l | grep 'xxx'
分区及格式化硬盘
分区命令,注意后面/dev/sdx,换成你要分区的磁盘名。
sudo fdisk /dev/sda
根据提示,依次输入:n、p、1、回车、回车、w。
意思是新建一个主分区,大小是整个sdb硬盘,然后保存退出。
接下来,我们对创建好的分区进行格式化成文件系统,使用命令
sudo mkfs.ext4 /dev/sda1
接下来,我们挂载磁盘
sudo mkdir /mnt/iscsidata
sudo mount /dev/sdb /mnt/iscsidata
最后,我们设置自动挂载,使用sudo vim /etc/fstab命令,添加如下一行,注意,我的这块盘是iscsi挂载的,必须要在defaults后面添加一个_netdev,否则重启会卡死。
/dev/sdb1 /mnt/iscsidata ext4 defaults,_netdev 0 0
更多推荐

所有评论(0)