【Ubuntu】常用Shell命令

1.目录信息查看命令 ls

ls [选项] [路径]
命令主要用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录
-a 显示所有的文件以及子目录,包括以“.”开头的隐藏文件。
-l 显示文件的详细信息,比如文件的形态、权限、所有者、大小等信息。
-t 将文件按照创建时间排序列出。
-A 和-a 一样,但是不列出“.”(当前目录)和“…”(父目录)。
-R 递归列出所有文件,包括子目录中的文件。
在这里插入图片描述

2.目录切换命令 cd

cd [路径]
路径就是我们要进入的目录路径:
cd / //进入到根目录“/”下,Linux 系统的根目录为“/”,
cd /usr //进入到目录“/usr”里面。
cd … //进入到上一级目录。
cd ~ //切换到当前用户主目录
在这里插入图片描述

3.当前路径显示命令 pwd

pwd 命令用来显示当前工作目录的绝对路径,不需要任何的参数
在这里插入图片描述

4.系统信息查看命令 uname

uname [选项]
-r 列出当前系统的具体内核版本号。
-s 列出系统内核名称。
-o 列出系统信息。
在这里插入图片描述

5.清屏命令 clear

6.切换用户执行身份命令 sudo

sudo [选项] [命令]
-h 显示帮助信息。
-l 列出当前用户可执行与不可执行的命令
-p 改变询问密码的提示符。
sudo 命令可以暂时将身份切换到 root 用户,之后输入密码(没有提示)
使用命令“sudo su”切换到 root 用户,su 命令不写明用户名的话默认切换到 root 用户。然后输入密码,密码正确的话就会切换到 root 用户。

7.添加用户命令 adduser

adduser [参数] [用户名]
常用的参数如下:
-system 添加一个系统用户
-home DIR DIR 表示用户的主目录路径
-uid ID ID 表示用户的 uid。
-ingroup GRP 表示用户所属的组名。
此命令需要 root 身份去运行。(sudo)
在这里插入图片描述

8.删除用户命令 deluser

deluser [参数] [用户名]
主要参数有:
-system 当用户是一个系统用户的时候才能删除。
-remove-home 删除用户的主目录
-remove-all-files 删除与用户有关的所有文件。
-backup 备份用户信息。
此命令需要 root 身份去运行。(sudo)
在这里插入图片描述

9.切换用户命令 su

su [选项] [用户名]
常用选项参数如下:
-c –command 执行指定的命令,执行完毕以后恢复原用户身份。
-login 改变用户身份,同时改变工作目录和 PATH 环境变量。
-m 改变用户身份的时候不改变环境变量
-h 显示帮助信息
(切换到root)
在这里插入图片描述

10.显示文件内容命令 cat

cat [选项] [文件]
选项主要参数如下:
-n 由 1 开始对所有输出的行进行编号。
-b 和-n 类似,但是不对空白行编号。
-s 当遇到连续两个行以上空白行的话就合并为一个行空白行。
在这里插入图片描述

11.显示和配置网络属性命令 ifconfig

ifconfig interface options | address
ifconfig 是一个跟网络属性配置和显示密切相关的命令,通过此命令我们可以查看当前网络属性,也可以通过此命令配置网络属性,比如设置网络 IP 地址等等。
主要参数如下:
interface 网络接口名称,比如 eth0 等。
up 开启网络设备。
down 关闭网络设备。
add IP 地址,设置网络 IP 地址。
netmask add 子网掩码。
在这里插入图片描述
有两个网卡:ens33 和 lo,ens33 为本地电脑实际使用的网卡,lo 是回测网卡。网卡 ens33 的 IP 地址为 192.168.0.111,使用命令“ifconfig”将网卡 ens33 的IP 地址改为 192.168.0.123。
在这里插入图片描述

12.系统帮助命令 man

man [命令名]
通过“man”命令可以查看其它命令的语法格式、主要功能、主要参数说明等。(不如百度)

13. 系统重启命令 reboot

14.系统关闭命令 poweroff

15.软件安装命令 install

install [选项]… [-T] 源文件 目标文件
或:install [选项]… 源文件… 目录
或:install [选项]… -t 目录 源文件…
或:install [选项]… -d 目录…

“install”命令是将文件(通常是编译后的文件)复制到目的位置,命令“install”通常和命令“apt-get”组合在一起使用。

16.下载工具命令 apt-get

sudo apt-get update:更新本地数据库,这个命令会访问源地址,并且获取软件列表并保存在本电脑上。
sudo apt-get check:检查依赖关系,所谓依赖关系就是 A 软件依赖于 B 软件。
在这里插入图片描述
sudo apt-get install package-name:软件安装,“package-name”就是要安装的软件名字,“apt-get”负责下载软件,“install”负责安装软件。(例:安装minicom)
在这里插入图片描述
sudo apt-get upgrade package-name:更新软件
sudo apt-get remove package-name:卸载软件

17.创建新文件命令 touch

touch [参数] [文件名]
使用 touch 创建文件的时候,如果[文件名]的文件不存在,那就直接创建一个以[文件名]命名的文件,如果[文件名]文件存在的话就仅仅修改一下此文件的最后修改日期,常用的命令参数如下:
-a 只更改存取时间。
-c 不建立任何文件。
-d<日期> 使用指定的日期,而并非现在日期。
-t<时间> 使用指定的时间,而并非现在时间。
在这里插入图片描述

18.文件夹创建命令 mkdir

mkdir [参数] [文件夹名目录名]
主要参数如下:
-p 如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。
在这里插入图片描述

19.文件及目录删除命令 rm

rm [参数] [目的文件或文件夹目录名]
此命令可以完成删除一个文件或者多个文件及文件夹,它可以实现递归删除。对于链接文件,只删除链接,原文件保持不变,所谓的链接文件,其实就是 Windows 下的快捷方式文件。
命令主要参数如下:
-d 直接把要删除的目录的硬连接数据删成 0,删除该目录。
-f 强制删除文件和文件夹(目录)。
-i 删除文件或者文件夹(目录)之前先询问用户。
-r 递归删除,指定文件夹(目录)下的所有文件和子文件夹全部删除掉。
-v 显示删除过程。
在这里插入图片描述

20.文件夹(目录)删除命令 rmdir

rmdir [参数] [文件夹(目录)]
命令主要参数如下:
-p 删除指定的文件夹(目录)以后,若上层文件夹(目录)为空文件夹(目录)的话就将其一起删除。(与rm -rm一致)
在这里插入图片描述

21.文件复制命令 cp

cp [参数] [源地址] [目的地址]
主要参数描述如下:
-a 此参数和同时指定“-dpR”参数相同
-d 在复制有符号连接的文件时,保留原始的连接。
-f 强行复制文件,不管要复制的文件是否已经存在于目标目录。
-I 覆盖现有文件之前询问用户。
-p 保留源文件或者目录的属性。
-r 或-R 递归处理,将指定目录下的文件及子目录一并处理
复制a.c到本文件夹并且命名为b.c:
在这里插入图片描述
将 test1 文件夹中的 a.c 和 b.c 这两个文件都复制到文件夹 test2,使用了通配符“✳”,“✳.c”就表示 test1 下的所有以“.c”结尾的文件,也就是 a.c 和 b.c。“…/test2”中的“…/”表示上级目录,因此“…/test2”就是上级目录下的 test2 文件夹:
在这里插入图片描述
将 test2 文件夹复制到同目录下,新拷贝的文件夹命名为 test3:
在这里插入图片描述

22.文件移动命令 mv

mv [参数] [源地址] [目的地址]
主要参数描述如下:
-b 如果要覆盖文件的话覆盖前先进行备份。
-f 若目标文件或目录与现在的文件重复,直接覆盖目的文件或目录。
-I 在覆盖之前询问用户。
使用上面讲解“cp”命令的时候创建了三个文件夹,在上面创建的 test1 文件夹里面创建一个 c.c 文件,然后将 c.c 这个文件重命名为 d.c。最后将 d.c 这个文件移动到 test2 文件夹里面:
在这里插入图片描述
将 test1 中的 d.c 文件移动到 test2 文件夹里面:
在这里插入图片描述

23.压缩命令 zip

zip [参数] [压缩文件名.zip] [被压缩的文件]
将一个或者多个文件压缩成一个.zip 结尾的文件,主要参数函数如下:
-b<工作目录> 指定暂时存放文件的目录。
-d 从 zip 文件中删除一个文件。
-F 尝试修复已经损毁的压缩文件。
-g 将文件压缩入现有的压缩文件中,不需要新建压缩文件。
-h 帮助。
-j 只保存文件的名,不保存目录。
-m 压缩完成以后删除源文件。
-n<字尾符号> 不压缩特定扩展名的文件。
-q 不显示压缩命令执行过程。
-r 递归压缩,将指定目录下的所有文件和子目录一起压缩。
-v 显示指令执行过程。
-num 压缩率,为 1~9 的数值。
在这里插入图片描述

24.解压缩命令 unzip

unzip [参数] [压缩文件名.zip]
unzip 命令用于对.zip 格式的压缩包进行解压,主要参数如下:
-l 显示压缩文件内所包含的文件。
-t 检查压缩文件是否损坏,但不解压。
-v 显示命令显示的执行过程。
-Z 只显示压缩文件的注解。
-C 压缩文件中的文件名称区分大小写。
-j 不处理压缩文件中的原有目录路径。
-L 将压缩文件中的全部文件名改为小写。
-n 解压缩时不要覆盖原有文件。
-P<密码> 解压密码。
-q 静默执行,不显示任何信息。
-x<文件列表> 指定不要处理.zip 中的哪些文件。
-d<目录> 把压缩文件解到指定目录下。
在这里插入图片描述

25.压缩命令 tar

tar [参数] [压缩文件名] [被压缩文件名]
zip 和 unzip 这两个是命令只适用于.zip 格式的压缩和解压,其它压缩格式就用不了了,比如 Linux 下最常的.bz2 和.gz 这两种压缩格式。其它格式的压缩和解压使用命令tar,tar 将压缩和解压缩集合在一起,使用不同的参数即可,常用参数如下:
-c 创建新的压缩文件。
-C<目的目录> 切换到指定的目录。
-f<备份文件> 指定压缩文件。
-j 用 tar 生成压缩文件,然后用 bzip2 进行压缩。
-k 解开备份文件时,不覆盖已有的文件。
-m 还原文件时,不变更文件的更改时间。
-r 新增文件到已存在的备份文件的结尾部分。
-t 列出备份文件内容。
-v 显示指令执行过程。
-w 遭遇问题时先询问用户。
-x 从备份文件中释放文件,也就是解压缩文件。
-z 用 tar 生成压缩文件,用 gzip 压缩。
-Z 用 tar 生成压缩文件,用 compress 压缩。
使用 tar 命令来进行.zip 和.gz 格式的文件压缩:
tar -vcjf test1.tar.bz2 test1
tar -vczf test1.tar.gz test1

在这里插入图片描述
文件解压缩:
tar -vxjf test1.tar.bz2
tar -vxzf test2.tar.gz

在这里插入图片描述

26.文件查找命令 find

find 命令用于在目录结构中查找文件,其命令格式如下:
find [路径] [参数] [关键字]
路径是要查找的目录路径,如果不写的话表示在当前目录下查找,关键字是文件名的一部
分,主要参数如下:
-name 按照文件名称查找,查找与 filename 匹配的文件,可使用通配符。
-depth 从指定目录下的最深层的子目录开始查找。
-gid<群组识别码>查找符合指定的群组识别码的文件或目录。
-group<群组名称> 查找符合指定的群组名称的文件或目录。
-size<文件大小> 查找符合指定文件大小的文件。
-type<文件类型> 查找符合指定文件类型的文件。
-user<拥有者名称> 查找符合指定的拥有者名称的文件或目录。
搜索目录/etc 中以“vim”开头的文件:
在这里插入图片描述

27.关键字查找命令 grep

find 命令用于在目录中搜索文件,grep 命令用于查找包含指定关键字的文件,如果发现某个文件的内容包含所指
定的关键字,grep 命令就会把包含指定关键字的这一行标记出来,grep 命令格式如下:
grep [参数] 关键字 文件列表
grep 命令一次只能查一个关键字,主要参数如下:
-b 在显示符合关键字的那一列前,标记处该列第 1 个字符的位编号。
-c 计算符合关键字的列数。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用此参数!否则 grep 指令将回报信息并停止搜索。
-i 忽略字符大小写。
-v 反转查找,只显示不匹配的行。
-r 在指定目录中递归查找。
在目录/usr 下递归查找包含字符“Ubuntu”的文件:
在这里插入图片描述

28.命令 ls -l 补充说明

在这里插入图片描述
文件类型:
每个文件的详细信息占一行,每行最前面的符号标记了当前文件类型,
比如 test1 的第一个字符是“d”,test1.tar.bz2 文件第一个字符是“-”。这些字符表示的文件类型如下:
– 普通文件,一些应用程序创建的,比如文档、图片、音乐等等。
d 目录文件。
c 字符设备文件,Linux 驱动里面的字符设备驱动,比如串口设备,音频设备等。
b 块设备文件,存储设备驱动,比如硬盘,U 盘等。
l 符号连接文件,相当于 Windwos 下的快捷方式。
s 套接字文件。
p 管道文件,主要指 FIFO 文件。
权限管理
对于一个文件通常有三种权限:读®、写(w)和执行(x)。
其中“-rw-rw-r–”表示文件权限与用户和用户组之间的关系,第一位表示文件类型,剩下的 9 位以 3 位为一组,别表示文件拥有者的权限,文件拥有者所在用户组的权限以及其它用户权限。后面的“reionv reionv ”别代表文件拥有者(用户)和该用户所在的用户组,因此文件 test.c 的权限情况如下:
①、文件 test.c 的拥有者是用户 reionv ,其对文件 test.c 的权限是“rw-”,也就是对该文件拥有读和写两种权限。
②、用户 zuozhongkai 所在的用户组也叫做 reionv ,其组内用户对于文件 test.c 的权限是“rw-”,也是拥有读和写这两种权限。
③、其它用户对于文件 test.c 的权限是“r–”,也就是只读权限。对于文件,可读权限表示可以打开查看文件内容,可写权限表示可以对文件进行修改,可执行权限就是可以运行此文件(如果是软件的话)。对于文件夹,拥有可读权限才可以使用命令 ls查看文件夹中的内容,拥有可执行权限才能进入到文件夹内部。如果某个用户对某个文件不具有相应的权限的话就不能进行相应的操作,比如根目录“/”下的文件只有 root 用户才有权限进行修改,如果以普通用户去修改的话就会提示没有权限。遇到提示权限不够的时候都可以使用 sudo 命令暂时以 root 用户身份去执行。
文件的权限有三种:读®、写(w)和执行(x),除了用 r、w 和 x 表示以外,可以使用二进制数表示,三种权限就可以使用 3 位二进制数来表示,一种权限对应一个二进制位,如果该位为 1 就表示具备此权限,如果该位为 0 就表示没不具备此权限:
在这里插入图片描述
在这里插入图片描述
也可以使用 a、u、g 和 o 表示文件的归属关系,用=、+和-表示文件权限的变化:
在这里插入图片描述
对于文件 test.c,我们想要修改其归属用户(zuozhongkai)对其拥有可执行权限,那么就可以使用:u+x。如果希望设置归属用户及其所在的用户组都对其拥有可执行权限就可以使用:gu+x。

29.权限修改命令 chmod

chmod [参数] [文件名/目录名]
主要参数如下:
-c 效果类似“-v”参数,但仅回显更改的部分。
-f 不显示错误信息。
-R 递归处理,指定目录下的所有文件及其子文件目录一起处理。
-v 显示指令的执行过程。
修改文件的权限:
在这里插入图片描述

在这里插入图片描述
修改文件夹的权限:
在这里插入图片描述

30.文件归属者修改命令 chown

命令 chown 用来修改某个文件或者目录的归属者用户或者用户组,命令格式如下:
chown [参数] [用户名.<组名>] [文件名/目录]
其中[用户名.<组名>]表示要将文件或者目录改为哪一个用户或者用户组,用户名和组名用
“.”隔开,其中用户名和组名中的任何一个都可以省略,命令主要参数如下:
-c 效果同-v 类似,但仅显示更改的部分。
-f 不显示错误信息。
-h 只对符号连接的文件做修改,不改动其它任何相关的文件。
-R 递归处理,将指定的目录下的所有文件和子目录一起处理。
-v 显示处理过程。
在用户根目录下创建一个 test 文件,查看其文件夹所属用户和用户组:
在这里插入图片描述
命令 shown 同样也可以递归处理来修改文件夹的归属用户和用户组,用法和命令 chown 一样。

31.磁盘管理

cat /etc/fstab: 查看Ubuntu 中硬盘分区的情况。
在这里插入图片描述
/ was on /dev/sda1 during installation”,意思是根目录“/”是在/dev/sda1上的,其中“/”是挂载点,“/dev/sda1”就是我们装 Ubuntu 系统的硬盘。
ls /dev/sd*:打印出所有以/dev/sd 开头的设备文件。
在这里插入图片描述
sd 表示是 SATA 硬盘或者其它外部设备,最后面的数字表示该硬盘上的第 n 个分区,如/dev/sda1 就表示磁盘 sda 上的第一个分区。都是以/dev/sda 开头的,说明当前只有一个硬盘。如果再插上 U 盘、SD 卡啥的就可能会出现/dev/sdb,/dev/sdc 等等。如果你的 U 盘有两个分区那么可能就会出现/dev/sdb1、dev/sdb2 这样的设备文件。

(1)磁盘分区命令 fdisk
如果要对某个磁盘进行分区,可以使用命令 fdisk,命令格如下:
fdisk [参数]
主要参数如下:
-b<分区大小> 指定每个分区的大小。
-l 列出指定设备的分区表。
-s<分区编号> 将指定的分区大小输出到标准的输出上,单位为块。
-u 搭配“-l”参数,会用分区数目取代柱面数目,来表示每个分区的起始地址。
sudo fdisk /dev/sdb:对 U 盘进行分区。
在这里插入图片描述
常用子命令如下:
p 显示现有的分区。
n 建立新分区。
t 更改分区类型。
d 删除现有的分区。
a 更改分区启动标志。
w 对分区的更改写入到硬盘或者存储器中。
q 不保存退出。

(2)格式化命令 mkfs
使用命令 fdisk 创建好一个分区需要对其格式化,也就是在这个分区上创建一个文件系统,Linux 下的格式化命令为 mkfs,命令格式如下:
mkfs [参数] [-t 文件系统类型] [分区名称]
主要参数如下:
fs 指定建立文件系统时的参数.
-V 显示版本信息和简要的使用方法。
-v 显示版本信息和详细的使用方法。
mkfs -t vfat /dev/sdb1:格式化 U 盘的分区/dev/sdb1 为 FAT 格式。

(3)挂载分区命令 mount
如果 U 盘就一个分区,为/dev/sdb1,如果直接打开文件/dev/sdb1 会发现根本就不是我们要的结果。需要将/dev/sdb1 这个分区挂载到一个文件夹中,然后通过这个文件访问 U 盘,磁盘挂载命令为 mount,命令格式如下:
mount [参数] -t [类型] [设备名称] [目的文件夹]
命令主要参数有:
-V 显示程序版本。
-h 显示辅助信息。
-v 显示执行过程详细信息。
-o ro 只读模式挂载。
-o rw 读写模式挂载。
-s-r 等于-o ro。
-w 等于-o rw。
挂载点是一个文件夹,因此在挂载之前先要创建一个文件夹,一般我们把挂载点放到“/mnt”目录下,在“/mnt”下创建一个 tmp 文件夹,然后将 U 盘的/dev/sdb1 分区挂载到/mnt/tmp 文件夹里面:
在这里插入图片描述
(4)卸载命令 umount
umount [参数] -t [文件系统类型] [设备名称]
-a 卸载/etc/mtab 中的所有文件系统。
-h 显示帮助。
-n 卸载时不要将信息存入到/etc/mtab 文件中
-r 如果无法成功卸载,则尝试以只读的方式重新挂载。
-t<文件系统类型> 仅卸载选项中指定的文件系统。
-v 显示执行过程。
上面将 U 盘挂载到了文件夹/mnt/tmp 里面,这里使用命令 umount 将其卸载掉:
在这里插入图片描述

32.编译命令 gcc

gcc [选项] [文件名字]
主要选项如下:
-c:只编译不链接为可执行文件,编译器将输入的.c 文件编译为.o 的目标文件。
-o:<输出文件名>用来指定编译结束以后的输出文件名,如果不使用这个选项的话 GCC 默认编译出来的可执行文件名字为 a.out。
-g:添加调试信息,如果要使用调试工具(如 GDB)的话就必须加入此选项,此选项指示编译的时候生成调试所需的符号信息。
-O:对程序进行优化编译,如果使用此选项的话整个源代码在编译、链接的的时候都会进行优化,这样产生的可执行文件执行效率就高。
-O2:比-O 更幅度更大的优化,生成的可执行效率更高,但是整个编译过程会很慢。
在这里插入图片描述

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu常用Shell命令有很多,下面列举了一些常见的命令以及它们的功能: 1. 目录信息查看命令 ls:用于列出当前目录下的文件和子目录。 2. 目录切换命令 cd:用于切换当前工作目录。 3. 当前路径显示命令 pwd:用于显示当前所在的工作目录路径。 4. 系统信息查看命令 uname:用于查看当前系统的信息,如操作系统名称、版本等。 5. 清理屏幕命令 clear:用于清空终端的显示内容,使屏幕变空白。 6. 显示文件内容命令 cat:用于查看文件的内容。 7. 切换用户身份命令 sudo:用于以超级用户的身份执行命令。 8. 文件拷贝命令 cp:用于将文件或目录复制到指定位置。 9. 切换用户命令 su:用于切换到其他用户身份。 10. 移动文件命令 mv:用于将文件或目录移动到指定位置或修改文件名。 11. 创建文件夹命令 mkdir:用于创建新的文件夹。 12. 创建文件命令 touch:用于创建新的空文件。 13. 删除命令 rm:用于删除文件或目录。 14. 目录删除命令 rmdir:用于删除空目录。 15. 显示网络配置信息命令 ifconfig:用于显示网络接口的配置信息。 16. 重启命令 reboot:用于重启系统。 17. 关机命令 poweroff:用于关闭系统。 18. 系统帮助命令 man:用于查看命令的帮助信息。 19. 数据同步写入磁盘命令 sync:用于将内存中的数据同步写入磁盘。 20. 查找文件命令 find:用于在指定目录中查找文件。 21. 查找内容命令 grep:用于在文件中查找指定的内容。 22. 文件夹大小查看命令 du:用于显示指定目录或文件的大小。 23. 磁盘空间检查命令 df:用于查看磁盘使用情况。 24. 使用gedit打开某个文件命令 gedit:用于使用gedit编辑器打开指定文件。 25. 当前的系统进程查看命令 ps:用于查看当前正在运行的进程。 26. 进程实时运行状态查看命令 top:用于实时查看系统的进程状态和资源占用情况。 27. 文件类型查看命令 file:用于查看文件的类型。 这些命令可以帮助您在Ubuntu中进行文件操作、目录切换、系统管理、网络配置等操作。如果您需要更详细的帮助信息,可以使用man命令结合具体命令名称来查看该命令的使用说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值