本篇分享:
Linux操作系统常用的Shell命令
环境介绍:
系统:Linux
在终端该命令可以显示文件和目录的名称、大小、创建日期、修改日期等基本信息,以及权限、所有者、所属组等更详细的信息。 例如ls -l可以显示详细的文件信息,ls -a可以显示隐藏文件等。
指令:
ls
常用参数:
l -- 显示文件名、文件类型、权限、拥有者、文件大小等详细信息。
a -- 显示所有文件及目录 (. 开头的隐藏文件也会列出)。
R -- 若目录下有文件,则以下之文件亦皆依序列出。
示例:
ls -l 列出当前工作目录下所有文件的详细信息
使用 cat
命令可以查看文本文件的内容。在命令行中输入 cat
命令,后面加上文件名,即可显示文件的所有内容。
指令:
cat
常用参数:
n/number -- 由 1 开始对所有输出的行数编号。
示例:
cat file.txt
此外,还可以使用 cat
命令将多个文件的内容合并输出到一个文件中。例如,如果要将 file1.txt
和 file2.txt
的内容合并输出到 output.txt
文件中,可以使用以下命令:
cat file1.txt file2.txt > output.txt
在这个命令中,>
符号用于将输出重定向到 output.txt
文件中,而 cat
命令则用于将 file1.txt
和 file2.txt
的内容合并输出。
使用file
命令可以查看文件的类型,包括二进制可执行文件、文本文件、图片、压缩文件等等。执行该命令时,会返回文件的类型以及其他相关信息。
指令:
file
示例:
file file.txt 查看file.txt文件类型
具体地,使用file
命令时,可以在终端中输入file 文件名
,例如:file example.txt
。执行后,会返回如下所示的结果:
example.txt: ASCII text
这里的输出结果表明该文件类型为ASCII文本文件。当文件类型为二进制文件时,输出结果可能会显示为:
example.bin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=..., stripped
其中,ELF
表示该文件类型为可执行文件,64-bit
表示文件位数为64位,x86-64
表示文件为x86架构编译的,dynamically linked
表示该文件使用了动态链接库,/lib64/ld-linux-x86-64.so.2
为解释器路径,BuildID
表示文件的构建ID,stripped
表示该文件没有调试符号。
使用find
命令可以查找指定目录下符合条件的文件。除了基本的文件名和目录名匹配外,还可以按文件类型、文件大小、文件修改时间等条件进行搜索。
指令:
find
常用参数:
name -- 根据文件名查找
示例:
find / -name "file.txt" 在根目录下查找file.txt文件
使用 grep
命令可以在文件或者文本流中查找特定字符串或模式,并输出匹配的行。
指令:
grep
常用参数:
d -- 指定要查找的是目录。
示例:
grep hello hello.c 在hello.c中查找hello字符串,并打印出该字符串的行。
使用du
命令可以查看指定目录(或文件)的磁盘使用情况。
指令:
du
常用参数:
h -- 以K、M、G为单位,提高可读性。
示例:
du -h dir 查看目录dir的大小
使用touch
命令可以创建一个新的空白文件,或者更新已有文件的访问和修改时间。在使用touch
命令创建文件时,如果文件已经存在,它将被更新为当前的访问和修改时间。
指令:
touch
示例:
touch file.txt 创建文件名为file.txt的文件
用rm
命令可以删除文件,但是需要非常小心,因为删除的文件将不可恢复。
指令:
rm
常用参数:
r -- 递归删除,包括目录下的子目录。
f -- 强制删除,无需确认,不存在也不提醒。
示例:
rm file.txt 删除file.txt文件
rm -rf dir 删除dir目录
使用cp
命令可以将一个文件从一个位置复制到另一个位置。
指令:
cp
常用参数:
r -- 递归复制,将复制该目录下所有的子目录和文件。
a -- 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。
d -- 复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
示例:
cp file1.txt file2.txt 复制文件内容file1.txt到file2.txt
cp -r dir ./newdir 递归复制目录dir到newdir
当使用 mv
命令时,我们可以对文件进行重命名,也可以将文件移动到不同的目录中。
指令:
mv
常用参数:
i -- 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件。
示例:
mv file1 file2 移动文件内容file1到file2。若无file2,相当于文件重命名
mv ./dir1 ./dir2 移动目录dir1到dir2。若无dir2,相当于目录重命名
使用mkdir命令可以在Linux或类Unix系统上创建新目录。
指令:
mkdir
常用参数:
p -- 目录不存在则创建。
示例:
mkdir -p dir1/dir2 dir1不存在则自动创建dir1
使用rmdir命令可以删除一个空目录。
rmdir,一般使用rm
rm -rf dir 递归删除目录dir
使用 cp
命令可以将一个目录及其所有子目录和文件复制到另一个目录。
cp
使用:cp -r dir ./newdir 递归复制目录
使用tar命令可以将一个或多个文件或目录压缩成一个.tar文件。
指令:
tar
常用参数:
c -- 创建文件。
z -- 调用gzip来进行压缩。
v -- 显示所有过程。
f -- 压缩文件名字,切记,这个参数是最后一个参数,后面只能文件名。
示例:
tar -czvf text.gz text.c text.h 将text.c、text.h打包压缩为text.gz
使用 tar 命令可以将一个或多个文件或目录打包成一个 tar 包,也可以解压缩已经存在的 tar 包。
指令:
tar
常用参数:
x -- 解压。
z -- 调用gzip来进行解压。
v -- 显示所有过程。
f -- 压缩文件名字,切记,这个参数是最后一个参数,后面只能文件名。
示例:
tar -xzvf text.gz 解压名为text.gz的压缩包
使用 cd
命令可以切换当前的工作目录。
指令:
cd
示例:
cd ~ 家目录
cd - 回到上一次目录
使用pwd
命令可以显示当前所在目录的绝对路径。
指令:
pwd
使用useradd
命令可以创建一个新用户。
指令:
useradd
常用参数:
d -- 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
g -- 指定用户所属的用户组。
示例:
useradd -d /home/user1 -m user1 增加一个user1用户,指定用户目录为/home/user1
使用userdel
命令可以删除一个用户账号。
指令:
userdel
常用参数:
r -- 把用户的主目录一起删除。
示例:
userdel -r user1 删除用户名为user1的用户
当我们在 Linux 中添加新的用户时,我们还需要为该用户创建一个用户组。这个用户组将为该用户提供文件和目录的访问权限,并决定该用户是否拥有管理员或其他特权。
以下是使用 groupadd
命令的介绍:
指令:
groupadd
常用参数:
g -- 指定新用户组的组标识号(GID)。
示例:
groupadd group1 创建组名为group1的组
groupadd -g 666 group1 创建组名为group1的组并制定组的标识号为666
使用groupdel命令可以删除指定的用户组。
指令:
groupdel
示例:
groupdel group1 删除组名为group1的组
使用su
命令可以切换用户身份。默认情况下,su
命令切换到root
用户身份,但也可以指定要切换到的其他用户身份。
指令:
su
示例:
su user1 切换到user1用户
su root 切换到root用户
使用 ifconfig
命令可以查看当前计算机的网络配置信息,包括网卡的IP地址、MAC地址、子网掩码、广播地址等信息。
指令:
ifconfig
使用reboot
命令可以重启Linux系统。需要注意的是,重启前最好保存所有未保存的工作和数据,以免数据丢失。
指令:
reboot
使用 poweroff
命令可以安全地关机系统。
指令:
poweroff
使用 man
命令可以查看 Linux 系统中的手册页。
指令:
man
以下是对该命令的扩充说明:
man
命令加上你想要查找的命令名或者文件名即可。例如,man ls
会显示 ls
命令的手册页,man cp
会显示 cp
命令的手册页。ls
、cp
等。passwd
、fstab
等文件格式。mount
、reboot
等。你可以在命令后面加上章节号来查找特定章节的手册页。例如,man 1 ls
会显示 ls
命令的用户手册页,man 2 open
会显示 open
系统调用的手册页。
/
命令在手册页中搜索关键字。例如,/search
会在手册页中查找 “search” 关键字,并跳转到第一个匹配的位置。按下 n
键可以查找下一个匹配的位置,按下 N
键可以查找上一个匹配的位置。q
键即可退出手册页。使用ps命令可以查看当前系统正在运行的进程
指令:
ps
常用参数:
a -- 显示所有进程,包括其他用户的进程。
u -- user 显示指定用户的进程信息。
x -- 显示不属于终端的进程信息。
e -- 显示所有进程,等同于"-A"选项。
示例
ps -aux
使用top命令可以实时查看系统中的进程状态和资源占用情况。除了查看进程的PID、进程名和占用CPU、内存等资源的情况,还可以使用top的交互式命令进行进程管理和排序。
指令:
top
下面是一些常用的top命令操作:
使用sync
命令可以将系统的内存缓冲区中的数据写入磁盘,以确保数据的持久性。sync
命令不需要任何参数,直接执行即可。
但需要注意的是,sync
命令只是将缓存的数据写入磁盘,如果系统挂掉或掉电等意外情况发生时,依然有可能会造成数据的丢失。因此,在重要的数据操作完成后,建议使用sync
命令将数据写入磁盘,并进行数据备份等措施以确保数据的安全性。
指令:
sync 将缓冲区数据写入磁盘
sudo apt-get update
sudo apt-get install 软件名
sudo apt-get remove 软件名
sudo dpkg -i 安装包名称