目录
这些命令是非常常用的,每个命令都有使用方式介绍,非常适合新人同学,这些命令和选项能帮助你有效地管理Linux系统上的文件、目录、进程等。
1. [ls:](#1. ls:)
列出当前目录下的内容
常用选项:
-l
:长格式列出信息-a
:显示所有文件,包括隐藏文件(以.
开头的文件)-h
:以人类可读的格式显示文件大小
bash
ls [options] [file|directory]
# 示例: 展示当前目录下的所有内容
ls -lah
root@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:
改变当前工作目录,切换到你需要的目录下
bash
cd [directory]
#示例 进入到test目录
cd test
3.pwd:
显示当前工作目录的路径
bash
pwd
#示例 显示当前工作目录
root@cl-virtual-machine:/test# pwd
/test
root@cl-virtual-machine:/test#
4.cp:
复制文件或者目录
常用选项:
-r
:递归复制目录及其内容- -f:强制复制
bash
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:
移动文件或者目录
bash
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
:强制删除文件或目录
bash
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
:创建多级目录
bash
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:
创建空文件
bash
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:
连接文件并打印到标准输出设备上。
bash
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
:递归搜索目录中的文件
bash
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:
在文件系统中查找文件。
bash
find [path] [expression]
# 示例 在/ 目录下找名为file.tet 文件
root@cl-virtual-machine:/# find ./ -name file.tet
./test3/newdir/mkdir/file.tet
root@cl-virtual-machine:/#
12. chmod
修改文件权限。
bash
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
修改文件所有者。
bash
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
:全格式
bash
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
终止进程。
bash
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
显示系统中各个进程的资源占用情况
bash
top
# 示例 内容太多,只展示了部分内容,大家可以实操下 停止命令: Ctrl + C
top - 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 Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
33837 root 20 0 16324 4608 3712 R 11.1 0.2 0:00.02 top
1 root 20 0 166788 9020 6076 S 0.0 0.5 0:06.05 systemd
17.tar
归档文件,经常会用到此命令来归档文件。
常用选项:
-cvf
:创建归档文件-xvf
:解压归档文件-z
:处理gzip压缩的文件
bash
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.gz
root@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
压缩文件。
bash
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
解压文件。
bash
unzip file.zip
20.man
命令:
要了解更多详细信息,可以使用man
命令查看每个命令的手册页。
bash
# 示例 可以用于查询标准库函数以及常用命令使用方式,停止命令: q
# ls 命令
man ls
# 标准库内存申请函数malloc的使用
man malloc