Linux常用命令

作者 : admin 本文共9023个字,预计阅读时间需要23分钟 发布时间: 2024-06-10 共3人阅读

1.基本命令

命令

功能描述

d

注意:

d

本身在大多数 Linux 和 Unix-like 系统中并不是一个用于切换目录的命令。可能是您提到的某个特定环境或别名中的用法。

cd

切换当前工作目录到指定的路径。

cd ~

切换到当前用户的家目录。

cd .

当前目录已经是当前目录,所以实际上不会改变路径。但命令本身没有错误。

cd ..

切换到上一级目录。

cd ../..

切换到上上级目录。

cd –

切换到上一次的目录(即,在

cd

历史中上一次访问的目录)。

ls

列出当前目录的内容。

ls -l

以长格式(详细信息)列出目录内容,包括文件权限、所有者、大小、时间戳等。

ls -a

列出当前目录中的所有文件,包括隐藏文件(以

.

开头的文件)。

ls -d

仅列出目录本身的信息,而不是其内容。

ls -h

以人类可读的格式(如 KB、MB、GB)显示文件大小。

ls -lh

结合

-l

-h

的选项,以长格式列出目录内容并显示人类可读的文件大小。

2.命令别名管理表格

命令

功能描述

alias 别名=’命令’

给指定的命令起一个别名,以便通过别名来执行该命令。例如,

alias ll=’ls -l’

将允许你通过输入ll来执行ls -l命令。

alias

显示当前已设置的所有命令别名。

unalias 别名

取消指定命令的别名。例如unalias ll将取消

ll

别名,之后你将无法再通过

ll

来执行

ls -l

命令。

unalias -a

注意

:实际上unalias命令并没有-a选项来取消所有别名。要取消所有别名,你需要手动使用

unalias

命令针对每个别名进行操作,或者通过修改 shell 的配置文件(如

.bashrc

.bash_profile

.zshrc

等)来移除所有别名定义,然后重新加载配置文件。

3.mv 命令功能表格

操作类型

命令示例

功能描述

修改文件名

mv file1 filea

将当前目录下的文件

file1

重命名为

filea

修改目录名

mv dir1 dira

将当前目录下的目录

dir1

重命名为

dira

移动文件到目录

mv filea dira

将当前目录下的文件

filea

移动到当前目录下的

dira

子目录中

移动文件到家目录

mv filea ~

将当前目录下的文件

filea

移动到当前用户的家目录中

移动文件到上一级目录

mv ~/filea ..

将家目录下的文件

filea

移动到上一级目录中

4.cp 命令功能表格

序号

操作类型

命令示例

功能描述

1

复制文件

cp File1 file2

将当前目录下的文件

File1

拷贝为

file2

2

复制文件到目录

cp file2 dira/

将当前目录下的文件

file2

拷贝到

dira

子目录

3

递归复制目录

cp -r dira dirb

复制

dira

目录下的所有内容到

dirb

目录(递归复制)

4

复制并询问(避免覆盖)

cp -i file2 dira/

如果

dira

目录下有同名的

file2

,则询问是否覆盖同名的文件

5

详细显示复制过程

cp -v File1 file2

复制

File1

file2

,并详细显示复制过程

6

强制覆盖

cp -f File1 file2

强制覆盖已存的

file2

文件,不询问

7

静默模式(不提示任何信息)

cp -n File1 file2

如果目标文件

file2

已存在,则不覆盖,且不显示任何信息

 

4.mkdir 命令及其描述

命令

描述

mkdir dir1

在当前目录下创建一个名为

dir1

的空目录

mkdir /home/dir2 /home/dir3

/home目录下创建个目录:dir2和dir3

mkdir /home/{dir4,dir5}

使用扩展的shell语法在/home目录下创建两个目录:dir4和dir5

mkdir -v /home/{dir6,dir7}

使用

-v

(verbose)选项在

/home

目录下创建两个目录:

dir6

dir7

,并显示创建时的详细信息

mkdir -p /home/dir8/111/222

使用-p选项在/home目下录下创建dir8目录并在其下创建111和222目录(即连级目录)

5.rmdir 和 rm 命令及其选项

命令/选项

描述

rmdir

删除空目录

rm -r

递归删除目录及其内容

rm -f

强制删除,不询问确认

rm -v

详细过程,显示被删除的文件或目录

rm *

删除当前目录下所有以

*

通配符匹配的文件和目录(慎用,可能会删除重要文件)

rm -rf

递归并强制删除目录及其内容,不询问确认(非常危险,务必谨慎使用)

6.touch 命令

命令

描述

touch file1.txt

在当前目录下创键一个名为file1.txt

的空文件(如果文件不存在则创建,如果已存在则更新文件的访问和修改时间)

touch /home/file10.txt

在/home

目录下创建一个名为file10.txt的空文件

touch /home/{zhuzhu,gougou}

在/home

目录下创建两个空文件:zhuzhu

gougou

touch /home/file{1..20}

在/home目录下批量创建名为file1到

file20的空文件

7.如何使用 > 和 >> 重定向符

命令

描述

echo 内容 > 文件名

将“内容”写入到“文件名”指定的文件中,如果文件已存在,则覆盖原文件内容;如果文件不存在,则创建新文件。

echo 123 > a.txt

将字符串“123”写入到文件“a.txt”中,如果“a.txt”已存在,则覆盖其内容;如果不存在,则创建新文件“a.txt”。

echo 内容 >> 文件名

将“内容”追加到“文件名”指定的文件末尾,如果文件已存在,则在文件末尾添加新内容;如果文件不存在,则创建新文件。

echo 345345 >> a.txt

将字符串“345345”追加到文件“a.txt”的末尾,如果“a.txt”已存在,则在文件末尾添加新内容;如果不存在,则创建新文件“a.txt”。

8.stat 命令

参数/选项

描述

file

要查看信息的文件名

输出项

文件详细信息(大小、块数、I/O块大小、文件类型、设备、Inode、权限、所有者、组、最近访问时间、最近更改时间、最近改动时间、创建时间等)

9.awk 命令

参数/选项

描述

-F

定义字段分隔符,默认为空格

‘{print $2}’

打印每行的第二个字段

文件路径

要处理的文件路径

10.sort 命令

参数/选项

描述

-t

指定分隔符

-k

指定要排序的列

-n

按数值排序

-r

降序排序

head

默认显示前十行

tail

默认显示后十行

11.wc 命令

参数/选项

描述

-l

统计行数

12.find 命令按文件名查找

参数/选项

描述

-name

按文件名查找

-iname

按文件名查找,忽略大小写

1.按文件大小查找

参数/选项

描述

-size

按文件大小查找

+5M

查找大于5M的文件

5M

查找等于5M的文件

-5M

查找小于5M的文件

2.按时间查找

参数/选项

描述

-atime

按访问时间查找

-mtime

按内容修改时间查找

-ctime

按属性修改时间查找

+5

查找5天前的文件

-1

查找1天内的文件

-amin +1

查找1分钟前的文件(基于访问时间)

3.按文件类型查找

参数/选项

描述

-type

按文件类型查找

f

普通文件

l

链接文件

d

目录文件

b

块设备文件

4.按文件权限查找

示例

描述

find . -perm 644

查找当前目录下权限为644的文件或目录

find /usr/bin -perm -4000

查找

/usr/bin

下具有set uid权限的文件

5.参数传递 (-exec 和 xargs)

示例

描述

find /etc -name “ifcfg*” -exec cp -rf {} /tmp \;

使用-exec将找的文件复制到

/tmp

目录

`find /home/ -name “test*”

xargs -i cp {} /tmp/`

13.ping 命令

选项

描述

示例

-c

指定发送的 ICMP ECHO_REQUEST 数据包数量

ping -c 3 www.baidu.com

无选项

默认会一直发送 ICMP ECHO_REQUEST 数据包,直到用户中断

ping www.baidu.com

1.ntp 命令(通常使用 ntpdate 或 ntpq/ntpc)

工具/命令

描述

示例

ntpdate

一次性地设置本地日期和时间,使之与指定的 NTP 服务器同步

ntpdate ntp.example.com

ntpq

用来查询 NTP 服务器的状态

ntpq -p

ntpc

一个简单的 NTP 客户端,可以用来测试 NTP 服务器的可达性

ntpc ntp.example.com

timedatectl

(systemd-timesyncd)

在使用 systemd-timesyncd 作为 NTP 客户端的系统中,可以用来检查和设置系统时间

timedatectl status

timedatectl set-ntp true

2.安装和配置 NTP

命令

描述

示例

yum install ntp

安装 NTP 软件包

[root@localhost ~]# yum install ntp

ntpdate ntp.aliyun.com

使用 ntpdate 手动同步时间到阿里云 NTP 服务器

[root@localhost ~]# ntpdate ntp.aliyun.com

ntpdate cn.pool.ntp.org

使用 ntpdate 手动同步时间到 NTP 网络授时组织的中国授时源

[root@localhost ~]# ntpdate cn.pool.ntp.org

14.查找命令位置

命令

描述

示例

which

查找命令的可执行文件位置

[root@qfedu.com ~]# which cd

(注意:

cd

是内建命令,不返回路径)

15.查看文件内容

1.cat

选项

描述

示例

cat

查看文件全部内容

[root@linux-server ~]# cat /etc/passwd

cat -n

显示文件内容并添加行号

[root@linux-server ~]# cat -n /etc/passwd

cat -A

显示文件内容并包括控制字符

[root@linux-server ~]# cat -A /etc/passwd

2.head

选项

描述

示例

head

默认查看文件前 10 行

[root@linux-server ~]# head /etc/passwd

head -n

查看文件前 n 行

[root@linux-server ~]# head -2 /etc/passwd

3.tail

选项

描述

示例

tail

默认查看文件后 10 行

[root@linux-server ~]# tail /etc/passwd

tail -n

查看文件后 n 行

[root@linux-server ~]# tail -1 /etc/passwd

tail -f

动态查看文件尾部内容(常用于查看日志文件)

[root@linux-server ~]# tail -f /var/log/secure

4.grep 过滤关键字

选项/描述

示例

过滤文件中带有关键字的内容

[root@linux-server ~]# grep ‘root’ /etc/passwd

过滤以关键字开头的行

[root@linux-server ~]# grep ‘^root’ /etc/passwd

过滤以关键字结尾的行

[root@linux-server ~]# grep ‘bash$’ /etc/passwd

5.less 分页显示

快捷键/描述

示例

空格键

翻页

回车键

翻行

上下箭头

上下翻行

/关键字

搜索关键字

n

按关键字往下翻

N

按关键字往上翻

q

退出

6.more

描述

示例

分页显示文件内容

[root@qfedu.com ~]# more 文件名

空格键

翻页

回车键

翻行

16.用户管理

1.useradd(添加用户)

选项

描述

示例

-M

不创建用户主目录

useradd user02 -M

-r

创建系统用户

useradd -r user01

-u

指定UID

useradd user02 -u 503

-s

指定shell

useradd user05 -s /sbin/nologin

-G

指定附加组(多个附加组用逗号分隔)

useradd user07 -G it,fd

-g

指定用户的主属组(需使用组ID或组名)

useradd -g 1003 user8

2.usermod(修改用户属性)

选项

描述

示例

-l

修改用户登录名(登录shell保持不变)

usermod -l NEW_NAME user8

-g

修改用户的主属组(需使用组ID或组名)

usermod user10 -g new_gid

-u

修改用户的UID

usermod -u new_id jack

-s

修改用户的登录shell

usermod -s /sbin/nologin user07

3.userdel(删除用户)

选项

描述

示例

-r

完全删除用户及其主目录

userdel -r user02

17.组管理

1.groupadd(添加组)

选项

描述

示例

-g

指定GID

groupadd net01 -g 2000

2.groupmod(修改组属性)

选项

描述

示例

-g

修改组的GID

groupmod -g 2000 grp1

-n

修改组名

groupmod -n 新组名 grp1

3.groupdel(删除组)

描述

示例

删除组

groupdel net01

18.组成员管理(gpasswd)

选项

描述

示例

-a

向组中添加用户

gpasswd -a user10 grp2

-M

设置组成员列表(会覆盖之前的组成员)

gpasswd -M tom,alice it

-d

从组中删除用户

gpasswd -d user07 hr

19.用户和组管理

1.chown(改变文件或目录的所属主和所属组)

命令

描述

示例

chown 属主:属组 文件名

更改文件或目录的所属主和所属组

chown alice:hr file1.txt

chown 属主 文件名

更改文件或目录的所属主

chown tom file1.txt

chown :属组 文件名

更改文件或目录的所属组

chown :it file1.txt

chown -R 属主:属组 目录名

递归更改目录及其内容的所属主和所属组

chown -R alice:hr dir1

2.chgrp(更改属组)

命令

描述

示例

chgrp 属组 文件名

更改文件或目录的所属组

chgrp hr file1.txt

chgrp -R 属组 目录名

递归更改目录及其内容的所属组

chgrp -R hr dir1

20.权限管理

1.chmod(更改权限)使用符号

命令

描述

示例

chmod u+x 文件名

属主增加执行权限

chmod u+x file1.txt

chmod a=rwx 文件名

所有用户赋予读写执行权限

chmod a=rwx file1.txt

chmod a=- 文件名

所有用户移除所有权限

chmod a=- file1.txt

chmod ug=rw,o=r 文件名

属主和属组赋予读写权限,其他用户只读

chmod ug=rw,o=r file1.txt

2.使用数字

权限

数字表示

rwx

7

rw-

6

r-x

5

r–

4

-wx

3

-w-

2

–x

1

0

命令

描述

示例

chmod 644 文件名

属主读写,属组和其他用户只读

chmod 644 file1.txt

chmod 755 文件名

属主读写执行,属组和其他用户只读执行

chmod 755 file1.txt

21.ACL权限

1.getfacl(查看ACL权限信息)

命令

描述

示例

getfacl 文件名

查看文件或目录的ACL权限信息

getfacl file1.txt

2.setfacl(设定ACL权限)

命令

描述

示例

setfacl -m u:用户名:权限 文件名

给指定用户添加ACL权限

setfacl -m u:alice:rwx file1.txt

setfacl -m g:组名:权限 文件名

给指定组添加ACL权限

setfacl -m g:hr:r file1.txt

3.chattr(文件隐藏属性)

命令

描述

示例

lsattr 文件名

查看文件隐藏属性

lsattr file1

chattr +a 文件名

设置文件为Append Only,只能追加数据

chattr +a file1

chattr +i 文件名

设置文件为Immutable,不可修改

chattr +i file1

chattr +A 文件名

设置文件不更新访问时间

chattr +A file1

22.管道与重定向

工具/命令

描述

示例

awk

文本处理工具,用于模式扫描和文本/数据提取

awk -F “j” ‘{print $2}’

从以 “j” 为分隔符的文本中提取第二列

grep

文本搜索工具,使用正则表达式搜索文本

grep ‘sd’ /home/aaa

搜索包含 “sd” 的行

`

` (管道)

将一个命令的输出作为另一个命令的输入

1.awk 详解

参数

描述

示例

-F

指定字段分隔符

-F “j”

以 “j” 为分隔符

‘{print $n}’

打印第 n 列

‘{print $2}’

打印第二列

2.sort 排序

参数

描述

示例

-t

指定分隔符

-t “:”

以 “:” 为分隔符

-k

指定排序的列

-k 3

按第三列排序

-n

按数值排序

-n

数字排序

-r

降序排序

-r

降序排列

head

输出文件的前几行(默认为 10 行)

`sort …

tail

输出文件的后几行(默认为 10 行)

`sort …

3.xargs 参数传递

参数/选项

描述

示例

-i

替换模板中的 {}

xargs -i cp {} /目录

{}

模板,代表从管道传递来的内容

同上

-r

(对于

xargs

的某些版本)

如果输入为空,则不运行命令

不直接在示例中

示例

复制文件列表到另一个目录

`cat files.txt

23.软件管理 – rpm 和 yum

1.rpm

命令

描述

示例

rpm -ivh 软件包

安装软件

rpm -ivh httpd-2.4.x.rpm

-i

安装

 

-v

详细输出

 

-h

显示安装进度

 

rpm -q{a,l,f} 软件包

查询软件包

 

-q

查询

rpm -qa

列出所有已安装的软件包

-l

列出文件

rpm -ql httpd

列出httpd软件包安装的文件

-f

查询文件所属的软件包

rpm -qf /usr/share/httpd/noindex

-a

所有

rpm -qa

查询所有已安装的软件包

rpm -e 软件包

删除软件

rpm -e httpd

删除httpd软件包

-e

删除/卸载

 

2.yum

命令

描述

示例

yum clean all

清理yum缓存

 

yum makecache

缓存软件包信息

 

yum repolist

查询yum源信息

 

yum provides 命令

查看命令属于哪个软件

yum provides rz

yum list

查看系统已安装和未安装的软件(源里存在即可查到)

 

yum -y install 软件包

安装软件

yum -y install httpd

-y

自动回答所有提示为“yes”

 

24.进程查看命令:ps

命令

参数

描述

ps aux

静态查看所有用户所有终端的进程

ps -ef

-e

显示所有进程

 

-f

显示完整格式(包含进程间父子关系)

1.进程状态解释

字段

描述

USER

运行进程的用户

PID

进程ID

%CPU

CPU占用率

%MEM

内存占用率

VSZ

进程占用的虚拟内存大小

RSS

占用的物理内存大小

TTY

终端(? 表示没有占用终端)

STAT

进程状态(如 S=休眠, R=运行, Z=僵尸等)

START

进程的启动时间

TIME

进程占用CPU的总时间

COMMAND

进程文件,进程名

2.端口查看命令:netstat

命令

参数

描述

netstat -tlanp

-a

显示全部的进程

 

-u

显示UDP协议

 

-n

以数字形式显示协议名称

 

-t

显示TCP协议

 

-p

显示进程的名称和PID

 

-l

只显示正在被监听的端口

3.进程与端口关联查询

命令

描述

`ps aux

grep ‘进程名’`

`netstat -tlanp

grep ‘进程名’`

lsof -i:端口号

根据端口号查询进程

4.进程状态解释 (ps 命令中的 STAT 列)

状态码

描述

R

运行中或在运行队列中等待

S

休眠中,可被唤醒

D

不可中断的休眠状态

T

停止或被追踪

Z

僵尸进程,父进程已终止,子进程尚未被回收

W

进入内存交换(从内核2.6开始无效)

N

低优先级的进程(从内核2.6.13开始标记为空闲进程)

 

高优先级的进程(从内核2.6.13开始标记为内核线程)

s

会话的领导进程

l

多线程(从内核2.6开始)

+

在前台的进程组

5.top 命令

命令

描述

top

动态显示系统状态信息,包括CPU使用率、内存使用率、运行的进程等。默认每三秒刷新一次。

6.kill/pkill 命令

命令

语法

描述

kill

kill 信号 PID

向指定进程ID(PID)的进程发送信号,以控制进程。

pkill

pkill 信号 进程名

向指定进程名的所有进程发送信号。

信号列表

kill -l

查看所有可用的信号列表。

-1 HUP

重新加载进程或重新加载配置文件,PID不变。

 

-9 KILL

强制杀死进程。

 

-15 TERM

正常杀死进程(默认可以不写信号)。

 

-18 CONT

激活挂起的进程。

 

-19 STOP

挂起进程。

 

5.进程状态解释

状态码

描述

+

表示运行在前台的进程组。

S+

休眠状态,进程等待某个条件成立或接受到信号。

T+

暂停或挂起状态,进程被暂时停止执行。

s

父进程,标记为父进程的进程。

8.作业控制

命令/操作

描述

sleep 工作号 &

sleep

命令(或其他命令)放到后台执行,并允许你继续在终端中输入其他命令。

ctrl + Z

将前台运行的命令或程序暂停,并放到后台。

jobs

查看当前终端中后台运行的所有作业及其工作号。

bg %工作序号

将暂停的作业放到后台继续执行。

fg %工作序号

将后台的作业调到前台继续执行。

25.常用命令

命令

描述

uptime

查看系统运行时间、用户数、平均负载等

free -m

以MB为单位显示内存使用情况

cat /etc/redhat-release

查看Red Hat系发行版的系统版本

uname -a

查看系统内核名称、主机名、内核版本号等信息

uname -r

查看内核版本号

hostnamectl set-hostname xxxx

修改主机名(xxxx替换为新的主机名)

hostname

查看当前主机名

vim /etc/hostname

直接编辑

/etc/hostname

文件修改主机名(需重启生效)

rz(通过lrzsz)

从本地上传文件到远程服务器

sz 文件(通过lrzsz)

从远程服务器下载文件到本地

26.计划任务

1.at(一次性调度执行)

命令

描述

yum install -y at

安装at命令

systemctl status atd

查看at服务的状态

systemctl start atd

启动at服务

at now +1min

设置一个在一分钟后执行的计划任务

at 20:33 < at.jobs

在指定时间(20:33)执行

at.jobs

文件中的任务

atq

查看待执行的一次性计划任务

atrm 计划任务序号

删除指定的一次性计划任务

2.cron(循环调度执行)

命令

描述

crontab -l

列出当前用户的计划任务

crontab -r

删除当前用户所有的计划任务

crontab -e

编辑当前用户的计划任务

crontab -u username -l

列出指定用户的计划任务(仅管理员可使用)

crontab -u username -r

删除指定用户的所有计划任务(仅管理员可使用)

crontab -u username -e

编辑指定用户的计划任务(仅管理员可使用)

 

 

本站无任何商业行为
个人在线分享 » Linux常用命令
E-->