当前位置: 首页> 教育> 大学 > Linux 系统下工作中常用的shell命令

Linux 系统下工作中常用的shell命令

时间:2025/7/9 22:21:10来源:https://blog.csdn.net/cl122763974/article/details/139724681 浏览次数:0次

目录

ls:列出目录内容

cd:改变当前工作目录

pwd:显示当前工作目录的路径

cp:复制文件或目录

mv:移动文件或目录

rm:删除文件或目录

mkdir:创建新目录

touch:创建空文件

cat:连接文件并打印到标准输出设备上

grep:在文件中查找模式

find:在文件系统中查找文件

这些命令是非常常用的,每个命令都有使用方式介绍,非常适合新人同学,这些命令和选项能帮助你有效地管理Linux系统上的文件、目录、进程等。

1. ls:

列出当前目录下的内容

常用选项:

  • -l:长格式列出信息
  • -a:显示所有文件,包括隐藏文件(以.开头的文件)
  • -h:以人类可读的格式显示文件大小
ls [options] [file|directory]# 示例: 展示当前目录下的所有内容
ls -lahroot@cl-virtual-machine:/# ls -lah
total 4393040
lrwxrwxrwx   1 root root          7 11月 11  2023 bin -> usr/bin
drwxr-xr-x   4 root root       4096  6月 16 19:29 boot

2.cd:

改变当前工作目录,切换到你需要的目录下

cd [directory]#示例 进入到test目录cd test

3.pwd:

显示当前工作目录的路径

pwd#示例 显示当前工作目录root@cl-virtual-machine:/test# pwd
/test
root@cl-virtual-machine:/test#

4.cp:

复制文件或者目录

常用选项:

  • -r:递归复制目录及其内容
  • -f:强制复制
cp [options] source destination#示例 把test目录下的file文件复制到test2目录下, 两个目录下都有此文件root@cl-virtual-machine:/test2# cd ..
root@cl-virtual-machine:/# cd test
root@cl-virtual-machine:/test# cp file.txt /test2/
root@cl-virtual-machine:/test# cd /test2/
root@cl-virtual-machine:/test2# ls -al
total 8
drwxr-xr-x  2 root root 4096  6月 16 19:42 .
drwxr-xr-x 22 root root 4096  6月 16 19:40 ..
-rw-r--r--  1 root root    0  6月 16 19:42 file.txt
root@cl-virtual-machine:/test2#

5.mv:

移动文件或者目录

mv [options] source destination#示例 把test2目录下的文件移到到test3下面,test2目录下不在有,和cp有差异
root@cl-virtual-machine:/test3# ls
root@cl-virtual-machine:/test3# ls -al
total 8
drwxr-xr-x  2 root root 4096  6月 16 19:48 .
drwxr-xr-x 23 root root 4096  6月 16 19:48 ..
root@cl-virtual-machine:/test3# mv /test2/file.txt ./
root@cl-virtual-machine:/test3# ls
file.txt
root@cl-virtual-machine:/test3# cd /test2
root@cl-virtual-machine:/test2# ls
root@cl-virtual-machine:/test2#

6.rm:

删除文件或目录

常用选项:

  • -r:递归删除目录及其内容
  • -f:强制删除文件或目录
rm [options] file#示例 删除test3目录下的文件root@cl-virtual-machine:/test3# ls
file.txt
root@cl-virtual-machine:/test3# rm file.txt
root@cl-virtual-machine:/test3# ls
root@cl-virtual-machine:/test3#

7.mkdir:

创建新目录。

常用选项:

  • -p:创建多级目录
mkdir [options] directory#示例 创建多层目录 
root@cl-virtual-machine:/test3# ls
root@cl-virtual-machine:/test3# mkdir -p /test3/newdir/mkdir
root@cl-virtual-machine:/test3# ls
newdir
root@cl-virtual-machine:/test3# cd newdir/
root@cl-virtual-machine:/test3/newdir# ls
mkdir
root@cl-virtual-machine:/test3/newdir#

8.touch:

创建空文件

touch file#示例 创建新文件file
root@cl-virtual-machine:/test3/newdir/mkdir# touch file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# ls -alh
total 8.0K
drwxr-xr-x 2 root root 4.0K  6月 16 20:01 .
drwxr-xr-x 3 root root 4.0K  6月 16 19:58 ..
-rw-r--r-- 1 root root    0  6月 16 20:01 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir#

9.cat:

连接文件并打印到标准输出设备上。

cat file.tet#示例 把文件中的hello shell 输出到标准设备上root@cl-virtual-machine:/test3/newdir/mkdir# cat file.tet
hello shell!root@cl-virtual-machine:/test3/newdir/mkdir#

10.grep:

在文件中查找所需内容。

常用选项:

  • -i:忽略大小写
  • -r:递归搜索目录中的文件
grep [options] pattern [file...]#示例 在文件中找shell ,输出shell是红色的,一般此命令常用于定位问题日志中搜关键词root@cl-virtual-machine:/test3/newdir/mkdir# grep -i "shell" file.tet
hello shell!
root@cl-virtual-machine:/test3/newdir/mkdir#

11.find:

在文件系统中查找文件。

find [path] [expression]# 示例 在/ 目录下找名为file.tet 文件
root@cl-virtual-machine:/# find ./ -name file.tet
./test3/newdir/mkdir/file.tet
root@cl-virtual-machine:/#

12. chmod

修改文件权限。

chmod [options] mode file#示例 修改文件的权限 644 ,把文件权限改成 777
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 4
-rw-r--r-- 1 root root 14  6月 16 20:04 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# chmod 777 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 4
-rwxrwxrwx 1 root root 14  6月 16 20:04 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir#

13.chown

修改文件所有者。

chown [options] owner[:group] file#示例  把文件的所有者chown 改成root
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 4
-rw-r--r-- 1 root chown 14  6月 16 20:04 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# chown root:root file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 4
-rwxrwxrwx 1 root root 14  6月 16 20:04 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir#

14.ps

显示当前进程状态。

常用选项:

  • -e:显示所有进程
  • -f:全格式
ps [options]#示例 查找ssh相关的进程号
root@cl-virtual-machine:/test3/newdir/mkdir# ps -ef | grep ssh
root         801       1  0 19:26 ?        00:00:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root        6285     801  0 19:29 ?        00:00:17 sshd: root@pts/1
root        6978     801  0 19:30 ?        00:00:00 sshd: root@notty
root        7247    6978  0 19:30 ?        00:00:00 /usr/lib/openssh/sftp-server
root       31672    7244  0 20:25 pts/1    00:00:00 grep --color=auto ssh
root@cl-virtual-machine:/test3/newdir/mkdir#

15.kill

终止进程。

kill [options] pid#示例 杀死进程号为 6285的进程
root@cl-virtual-machine:/test3/newdir/mkdir# ps -ef | grep ssh
root         801       1  0 19:26 ?        00:00:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root        6285     801  0 19:29 ?        00:00:17 sshd: root@pts/1
root        6978     801  0 19:30 ?        00:00:00 sshd: root@notty
root        7247    6978  0 19:30 ?        00:00:00 /usr/lib/openssh/sftp-server
root       31672    7244  0 20:25 pts/1    00:00:00 grep --color=auto ssh
root@cl-virtual-machine:/test3/newdir/mkdir# kill -9 6285
root@cl-virtual-machine:/test3/newdir/mkdir#

16.top

显示系统中各个进程的资源占用情况

top# 示例 内容太多,只展示了部分内容,大家可以实操下 停止命令: Ctrl + Ctop - 20:31:22 up  1:04,  2 users,  load average: 0.04, 0.07, 0.08
Tasks: 286 total,   1 running, 285 sleeping,   0 stopped,   0 zombie
%Cpu(s): 16.7 us, 11.1 sy,  0.0 ni, 72.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1923.3 total,     75.2 free,    925.4 used,    922.7 buff/cache
MiB Swap:   4290.0 total,   3935.2 free,    354.8 used.    810.3 avail MemPID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND33837 root      20   0   16324   4608   3712 R  11.1   0.2   0:00.02 top1 root      20   0  166788   9020   6076 S   0.0   0.5   0:06.05 systemd

17.tar

归档文件,经常会用到此命令来归档文件。

常用选项:

  • -cvf:创建归档文件
  • -xvf:解压归档文件
  • -z:处理gzip压缩的文件
tar [options] archive file#示例 把当前目录下按照如下格式压缩tar -cvf archive.tar file1 file2
tar -xvf archive.tar
tar -czvf archive.tar.gz file1 file2
tar -xzvf archive.tar.gzroot@cl-virtual-machine:/test3/newdir/mkdir# tar -czvf dst.tar.gz file.tet log.log
file.tet
log.log
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 8
-rw-r--r-- 1 root root 156  6月 16 20:36 dst.tar.gz
-rw-r--r-- 1 root root  14  6月 16 20:04 file.tet
-rw-r--r-- 1 root root   0  6月 16 20:34 log.log
root@cl-virtual-machine:/test3/newdir/mkdir#

18.gzip

压缩文件。

gzip file#示例 压缩文件
root@cl-virtual-machine:/test3/newdir/mkdir# gzip file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# ls
dst.tar.gz  file.tet.gz  log.log
root@cl-virtual-machine:/test3/newdir/mkdir#

19.unzip

解压文件。

unzip file.zip

20.man命令:

要了解更多详细信息,可以使用man命令查看每个命令的手册页。

# 示例 可以用于查询标准库函数以及常用命令使用方式,停止命令: q# ls 命令
man ls# 标准库内存申请函数malloc的使用
man malloc

关键字:Linux 系统下工作中常用的shell命令

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: