Linux常用命令(基础篇)
前言
ubuntu操作系统是Linux操作系统中的一种,所有的命令格式可以总结为
command [-options] [parameter]
command是命令符,-option是选项,parameter是参数
例如在下文中的删除文件命令rm,-r(递归删除目录及内容),parameter是如111.txt等文件名或目录名
文章目录
一、查看命令帮助
如果不知某个命令相关的选项,可以使用查看命令帮助,有两种方式
1、--help,使用格式为:命令 --help
2、man命令,使用格式为:man 命令
| 操作键 | 说明 |
| 空格 | 显示下一页信息 |
| f | 显示下一页信息 |
| b | 显示上一页信息 |
| 回车 | 显示下一行信息 |
| q | 退出 |
二、查看目录命令
| 命令 | 说明 |
| ls | 查看当前目录信息 |
| tree | 以树状方式显示目录信息 |
| pwd | 查看当前目录路径 |
| clear | 清除终端内容 |
| 命令选项 | 说明 |
| -l | 以列表方式显示 |
| -h | 以大小单位显示,默认是字节 |
| -a | 显示隐藏文件和隐藏目录 |
举例,查看一个名为111、后缀名为txt的文件,则可以用 ls -lha 111.txt
三、切换目录命令
| 命令 | 说明 |
| cd 目录名 | 切换到指定目录 |
| cd ~ | 切换到当前用户的主目录 |
| cd .. | 切换到上一级目录 |
| cd . | 切换到当前目录 |
| cd - | 切换到上一次目录 |
值得注意的是,
cd 命令切换目录时,这个目录必须存在
cd 后面不写相当于cd ~
~相当于主目录
. 相当于当前目录
.. 相当于上一级目录(这些内容在相对路径的描述中可以用到)
四、目录与路径的背景知识
用户名:issac
主目录 ~
其中路径可以描述为 /home/issac/~
通过ls -alh 可以查看桌面上的文件

对列表的解释为
第一列 d: 目录 -:文件 ,
rwxr-xr-x,代表着主用户的权限rwx(可读可写可执行),同组用户权限r-x(可读不可写可执行),不同组用户权限r-x(可读不可写可执行)
第二列为硬链接数
第三列为用户名
第四列为用户组
第五列为文件大小,默认单位为字节
第六、七、八列为修改时间
第九列为文件名,若开头为.即为隐藏文件
五、软件安装与卸载
| 命令 | 说明 |
| sudo apt install 软件包 | 安装软件包 |
| sudo apt remove 软件包 | 卸载软件包但保留配置文件 |
| sudo apt purge 软件包 | 卸载软件包且删除配置文件 |
| sudo apt upgrade 软件包 | 升级所有已安装的软件包到最新版本 |
| sudo apt update 软件包 | 从已配置的源中下载最新的软件包列表信息 |
| sudo apt clean 软件包 | 清理已下载但未安装的软件包文件 |
| sudo apt autoremove 软件包 | 自动删除不再需要的依赖包 |
| sudo apt search 软件包 | 搜索软件包 |
| sudo apt show 软件包 | 展示软件包信息 |
| 命令 | 说明 |
| touch 文件名 | 创建指定文件 |
| mkdir 目录名 | 创建目录(文件夹) |
| rm 文件名或者目录名 | 删除指定文件或者目录 |
| rmdir 目录名 | 删除空目录 |
值得注意的是 ,rmdir只能删除空目录,而rm可以通过选项 -r 迭代删除目录
| 命令选项 | 说明 |
| -i | 交互式提示 |
| -r | 递归删除目录及内容 |
| -f | 强制删除,忽略不存在的文件,无需提示 |
| -d | 删除空目录 |
mkdir在目录A下创建目录B时,前提必须存在目录A,否则会创建失败,但是我们可以利用mkdir选项-p解决这个问题
| 命令 | 说明 |
| -p | 创建所依赖的目录 |
七、复制、移动文件与目录命令
| 命令 | 说明 |
| cp | 拷贝文件、拷贝目录 |
| mv | 移动文件、移动目录与重命名 |
| 命令选项 | 说明 |
| -i | 交互式提示 |
| -r | 递归拷贝目录及内容 |
| -v | 显示拷贝后的路径描述 |
| -a | 保留文件及目录里文件的原有权限 |
| 命令选项 | 说明 |
| -i | 交互式提示 |
| -v | 显示移动后的路径描述 |
八、重定向命令
重定向也称为输出重定向,把在终端执行的命令结果保存到目标文件中
| 命令 | 说明 |
| > | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
| >> | 如果文件存在会追加原有文件内容,相当于文件操作中的‘a’模式 |
九、查看文件内容命令
| 命令 | 说明 |
| cat | 查看小型文件(终端显示) |
| more | 分页查看大型文件(终端显示) |
| less | 分页查看文件(终端显示) |
| gedit | 可以查看并编辑文件 |
一次可以查看多个文件,如 cat 1.txt 2.txt
也可以配合重定向命令,将终端显示页面传输到文件中,如 cat 1.txt 2.txt > 3.txt
| 命令选项 | 说明 |
| -i | 忽略大小写 |
| -o | 输出重定向到文件 |
十、管道命令
管道命令 | :一个命令的输出可以通过管道做为另一个命令的输入,可以理解为一个容器,存放在终端显示的内容
管道命令 | 一般结合more命令使用,主要是分配查看终端显示内容
十一、链接命令
链接命令是创建链接的命令
| 命令 | 说明 |
| ln -s | 创建软链接 |
| ln | 创建硬链接,不能给目录创建硬链接 |
文件数据<-源文件
软链接指向源文件,也就是说在创建软链接时需要标出源文件的绝对路径,在删除源文件后会对新创建的文件链接产生影响
硬链接指向文件数据,也就意味着创建硬链接时,标出源文件的绝对路径和相对路径都可,在删除源文件后并不会对新创建的文件链接产生影响
十二、文本搜索命令
| 命令 | 说明 |
| grep | 文本搜索 |
| 命令选项 | 说明 |
| -n | 显示匹配行及行号 |
| -i | 显示不包含匹配文本的所有行(相当于求反) |
| -v | 忽略大小写 |
格式:grep “内容” 文件名
grep 命令还可以文本搜索管道中的内容,比如 ls / | grep "lib"
在使用grep命令时还可以省略搜索内容的引号
| ^a | 搜索行首为a的内容 |
| k$ | 搜索行尾为k的内容 |
| k.f | 搜索k某f的内容 |
十三、查找文件命令
| 命令 | 说明 |
| find | 在指定目录下查找文件(包括目录) |
| 命令选项 | 说明 |
| -name | 根据文件名(包括目录)查找 |
格式:find . -name "1*1.txt"
| 通配符· | 说明 |
| * | 代表0个或多个任意字符 |
| ? | 代表任意一个字符 |
通配符不仅能够结合find来使用,还可以结合其他命令使用,值得注意的是结合find来使用时需要文件名需要加上引号,其他不需要
十四、压缩和解压缩命令
linux支持的压缩格式:.gz、.bz2和.zip
.gz和.bz2需要用tar命令来压缩和解压缩
.zip需要用zip来压缩,用unzip来解压缩
| 选项 | 说明 |
| -c | 创建打包文件 |
| -v | 显示打包或者解包的详细信息 |
| -f | 指定文件名称(必须放到所有选项后面) |
| -z | 压缩或解压缩(.gz) |
| -j | 压缩或解压缩(.bz2) |
| -x | 解包 |
| -C | 解压缩到指定目录 |
格式:tar -zxvf test.tar.gz -C AA
tar -jxvf test.bz2 -C AA
| 命令选项 | 说明 |
| zip | 压缩 |
| unzip | 解压缩 |
格式:zip test 1.txt
unzip test.zip -d AA
十五、文件权限命令
| 角色 | 说明 |
| u | user,代表该文件的所有者 |
| g | group,代表用户组 |
| o | other,代表其他用户 |
| a | all,代表所有用户 |
| 操作符 | 说明 |
| + | 增加权限 |
| - | 撤销权限 |
| = | 设置权限 |
格式:chmod u=rw,g=r,o=r 1.txt
| 命令 | 说明 |
| which | 查看某文件或目录的路径 |
| who | 查看用户及登录信息 |
| whoami | 查看当前用户角色 |
| passwd | 更改用户的密码 |
当终端运行python程序时需要(1)声明解释器并在python里注上解释器的路径
或者(2)在终端里写上解释器及其版本
#!/python解释器的路径 表示操作系统直接执行文件
#注释内容 表示一个注释
#_*_coding:utf-8_*_表示指定文件编码的格式
十六、获取管理员权限命令
| 命令 | 说明 |
| sudo -s | 切换到root用户,获取管理员权限 |
| sudo | 当某个命令执行需要root权限时,可以在前面加sudo |
| exit | 退出当前用户 |
如想在windows操作系统中复制的内容粘贴到Ubuntu中,可以用
sudo apt-get install open-vm-tools-desktop(需要在windows操作系统中txt文件操作,否则会出现乱码)
| 命令 | 说明 |
| shutdown -h now | 立即关机 |
| reboot | 重启 |
十七、用户相关操作
所有与用户、用户组相关操作都是需要管理员权限
(1)创建用户
| 命令 | 说明 |
| useradd | 创建/添加用户 |
| 命令选项 | 说明 |
| -m | 自动创建用户主目录,主目录名字就是用户名 |
| -g | 指定用户所属的用户组,默认不指定会自动创建一个同名用户组 |
格式:sudo useradd -m lin
sudo useradd -mg test lin (创建用户并指定用户组)
(2)设置密码
给其他用户设置密码,使用sudo passwd 用户名
(3)切换用户
| 命令 | 说明 |
| su | 切换用户 |
| exit | 退出用户登录 |
格式:su - 用户名
(4)修改用户信息
| 命令 | 说明 |
| usermod | 修改用户信息 |
| 命令选项 | 说明 |
| -G | 设置一个附加组 |
| -g | 修改用户主组 |
格式:sudo usermod -G sudo lin
sudo usermod -g abd lin
(5)添加与删除附加组
| 命令 | 说明 |
| gpasswd | 添加和删除附加组信息 |
| 命令选项 | 说明 |
| -a 用户名 | 给用户添加附加组 |
| -d 用户名 | 给用户删除附加组 |
格式:sudo gpasswd -d lin sudo (将用户lin从sudo附加组中删除)
(6)删除用户
| 命令 | 说明 |
| userdel | 删除用户 |
| 命令选项 | 说明 |
| -r 用户名 | 删除用户主目录(必须设置),否则用户主目录不会删除 |
(7)创建和删除用户组
| 命令 | 说明 |
| groupadd | 创建用户组 |
| groupdel | 删除用户组 |
注意:如果用户组下有用户需要先删除用户再删除用户组
格式:sudo groupdel 用户组名
(8)查看用户与用户组信息
查看所有用户信息 -> cat /etc/passwd
查看用户id -> id 用户名
查看用户组信息 -> etc/group
十八、远程登录与远程拷贝
不管是ubuntu操作系统还是mac和windows,作为服务端和客户端都需要安装相应的软件
以ubuntu为例作为服务端,需要执行 sudo apt-get install openssh-server
作为客户端,需要执行 sudo apt-get install openssh-client
格式:ssh 用户名@ip地址
ip地址可以使用ifconfig命令来查看
客户端电脑如果是mac,系统已经自动安装过软件了,可以直接使用ssh命令
客户端电脑如果是windows,需要安装OpenSSH for windows这个软件,或者是在windows中添加功能Openssh
格式:ssh 用户名@ip地址
ip地址可以使用ipconfig命令来查看
示例:
#远程登录其他电脑,其他电脑的ip地址为192.168.80.XXX
在windows使用win+r,输入cmd,进入终端,输入ssh issac@192.168.80.XXX
#远程拷贝 1.txt 这个文件到其他电脑
C:\Users\13428>scp 1.txt issac@192.168.80.XXX:/home/issac/桌面
#也可以从其他电脑中远程拷贝 2.txt 到自己的windows电脑上
C:\Users\13428>scp issac@192.168.80.XXX:/home/issac/桌面/2.txt
十九、其他方式的软件安装
(1)与第五章的软件安装不同的是wget是通过下载链接来下载软件的
wget [选项][下载链接]
(2)下载安装conda(相当于小型的软件商店),利用conda install来安装软件
| 命令选项 | 说明 |
| -c | 指定软件包的来源频道 |
| -y | 跳过提示 |
(详细见linux常用命令进阶篇)
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)