LINUX常用命令注解

本文详细介绍了LINUX系统中的常用命令,包括系统维护、文件管理等类别的命令,如ls、pwd、cd、date、passwd等,并讲解了find、grep、tar等高级命令的使用方法,以及压缩与解压缩、磁盘管理和网络设置等相关操作。
摘要由CSDN通过智能技术生成

LINUX常用命令

常见目录及作用

/root:root用户的主目录

/home:普通用户的主目录

/etc:配置文件

/bin:可执行文件

/var:可变目录,用以存放经常变化的文件,如日志文件

/dev:设备文件,任何设备与接口设备都是以文件形式存在于此目录

常用命令

1.系统维护类

ls、pwd、cd、date、passwd、man、who、last、ps

ls:用于显示指定工作目录下的内容

pwd:当前工作目录

cd:切换当前工作目录

date:用来显示或设定系统日期和时间

passwd:用来更改密码

man:帮助手册

who:显示当前登录系统的用户

last:用来显示用户最近登录信息

ps:用来查看当前运行的进程状态

2.文件管理

touch、cd、stat、rm、more、mv、cat、less、head、tail、grep、find、ln

touch:用于创建、修改文件或目录的时间属性

stat:用于显示inode内容

rm:用于删除一个文件或者目录

more:类似于cat,但会以一页一页的形式显示,空格下一页显示,b上一页显示

mv:用来为文件或目录改名,或者将文件或目录移入其他位置

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

less:与more类似,但可以随意浏览文件,且在查看之前不会加载整个文件

head:查看文件前10行

tail:查看文件后10行,动态查看日志

ln:给文件创建软链接,并显示操作信息

​ ln -sv source.log link.log

给文件创建硬链接,并显示操作信息

​ ln -v source.log link1.log

grep:文本过滤显示

查找文件里有字符h的字符串:grep h 文件名

匹配整个单词:grep -w 单词 文件名

匹配以q开始的行:grep ^ [q] 文件名

匹配以q结束的行:grep q$ 文件名

匹配以数字开头的行:grep ^ [0-9] 文件名

匹配以q或者f开头的行:grep ^ [qf] 文件名

不匹配以q或者f开头的行:grep ^ [ ^qf ] 文件名

匹配oo前面不是f或者g的字符串:grep [ ^gf ]oo 文件名

匹配以#号开头的行:grep ^#

过滤空白行:grep ^$

如果要明确搜索子目录:grep -r h ./*

忽略子目录:grep -d skip h ./*

-l:查询多文件时只输出包含匹配字符的文件名

搜索时忽略大小写:grep -i

搜索时显示没有匹配到的行:grep -v

搜索时显示匹配到的那一行以及下2行:grep -A 2

搜索时显示匹配到的那一行以及上2行:grep -B 2

搜索时显示匹配到的那一行以及上下2行:grep -C 2

find:find [path] [options] [expression]

1.与时间有关的参数:

共有-atime,-ctime,-mtime。ll --time=atime

-mtime n:意义为在n天之前的一天之内被更改过的文件;-mtime 4,前4~5那一天的文件名

-mtime -n:列出在n天之内(包含n天本身)被更改过的文件名;-mtime -4,小于等于4天内的文件名

-mtime +n:列出在n天之前(不包含n天本身)被更改过的文件名;-mtime +4,大于等于5天前的文件名

find /-mtime 0 #0代表目前的时间,所以从现在开始到24小时前有改动过内容的文件都会被列出来

find /etc/ -newer /etc/passwd寻找/etc/下面的文件,如果文件日期比/etc/passwd新就列出

2.与用户或者用户组名有关的参数

-uid n:n为数字,这个数字是用户的账号ID,即UID

-gid n:GID

-user name:根据文件拥有者寻找文件

-group name:根据文件所属组寻找文件

-nouser:寻找文件的所有者不存在/etc/passwd的人

-nogroup:寻找文件的所有用户组不存在于/etc/group(当你自行安装软件时,很可能该软件的属性当中并没有文件所有者)

3.与文件权限及名称有关的参数

-name filename:查找文件名为filename的文件,支持通配符*和?(由于find命令自己能解析通配符的含

义,所以加引号不会让*和?这两个符号失效)

-size [±]SIZE:查找比SIZE还要大(+)或者小(-)的文件。这个SIZE的规格有:c代表字节,k代表1024

字节。-size +50k表示要找比50kB还要大的文件。

-type TYPE:根据文件类型查找文件,一般正规文件f,设备文件c、b,目录d,链接文件l,

socket(s),FIFO(p)

-perm -mode:根据文件权限寻找文件。-perm -0744,当一个文件权限为4755时,也会被列出来。

-perm +mode:查找文件权限“包含任一mode的权限”的文件。-perm +755,当一个文件权限为-rw-------

时也会被列出来,因为它有rw的属性存在

find /bin /sbin -perm +6000找出在/bin和/sbin这两个目录下具有SUID或SGID的文件

4.其他可执行的操作

-exec command:command为其他命令,-exec后面可再接其他的命令来处理查找到的结果

-print:将结果打印到屏幕上,这个操作是默认操作

find / -perm +700 -exec ls -l {} ;

{}表示“由find找到的内容”,find的结果会被放置到{}位置中。

-exec一直到“;”是关键字,代表额外命令的开始(-exec)到结束(;),在这中间的就是find命令内的额

外命令。额外的命令不支持命令别名。

3.压缩与解压缩

zip、unzip、gzip、bzip2、xz、tar

zip:压缩文件.zip

unzip:解压.zip文件

gzip:压缩文件.gz

bzip2:压缩文件.bz2

xz:压缩文件.xz

压缩文件gzip: gzip 文件名(原文件不存在)

gzip -c 文件名1 >文件名1.gz (保留原文件)

-c表示将压缩过程中产生的数据输出到屏幕上

解压文件: gzip -d 文件名.gz(不保留)

gunzip 文件名.gz

gzip -cd 文件名2.gz >文件名2(保留原文件)

查看压缩过的文本文件内容:zcat 文件名.gz

压缩文件bzip2(用法同gzip):bzip2 文件名

bzip2 -c 文件名1 >文件名1.bz2(保留原文件)

解压文件: bzip2 -d 文件名.bz2(不保留原文件)

bunzip2 文件名.bz2

bzip2 -cd 文件名2.bz2 > 文件名2(保留原文件)

查看压缩过的文件内容:bzcat 文件名.bz2

文件的归档即打包文件:tar [主选项+辅选项] 文件或目录

主选项:只能出现一个主选项

c— create 创建一个新归档文件

x— 从归档文件中提取文件出来

t— 列出归档文件的内容,查看已经打包了哪些文件,重点在查看文件名

辅选项

z—通过gzip的支持进行压缩/解压缩,一般格式为*.tar.gz

j— 通过bzip2的支持进行压缩/解压缩,一般格式为*.tar.bz2

J—通过xz的支持进行压缩/解压缩,一般格式为*.tar.xz

v— 归档或解包过程中显示被打包的文件

C—这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数

f— 输出结果到文件,必须写该选项

–exclude=FILE在打包的过程中,不要将 FILE 打包! --排除某个文件打包

常见的两种压缩方式:jcvf zcvf

打包、压缩文件1和2并重命名:tar zcvf 新文件名 文件名1 文件名2 文件名3 文件名4

解压:tar xvf 文件名 该命令会自动判断归档文件的压缩格式,自动调用相关程序进行解压缩

解压到指定路径:tar xvf 文件名 -C 目标路径

tar -xjv -f filename.tar.bz2 -C 欲解压缩的目录

查看已压缩文件:tar tf 文件名

4.磁盘管理

df、du、fsck、sync、fdisk、gdisk、mkfs、mount、umount

df:列出文件系统的磁盘空间占用情况

du:显示磁盘空间使用量(统计目录或文件所占磁盘空间大小)

fsck:用来检查与修复linux档案系统,可以同时检查一个或多个linux档案系统

sync:数据同步写入磁盘,在内存中未被更新的数据,会写入硬盘中;在关机或重新启动前可执行

fdisk:创建和维护分区表的程序,兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表

mkfs:用于在特定的分区上建立linux文件系统

mount:挂载linux系统外的文件

umount:用于卸除文件系统

5.网络设置

ifconfig、ip、nmcli、nmtui

ifconfig:用于显示或设置网络设备

ip:与ifconfig类似,但功能更强大,命令更简化

nmcli:命令行修改网络配置

nmtui:可视化界面修改网络配置

6.用户管理

useradd、usermod、userdel、groupadd、groupmod、groupdel、id、w、who、su、sudo

useradd:建立用户账号,保存在/etc/passwd,密码在/etc/shadow

usermod:修改用户账号的各项设定

userdel:删除账号,不加参数,仅删除用户账号,不删除相关文件;-r删除账号和相关文件

groupadd:创建一个新的工作组,保存在/erc/group,密码在/etc/gshadow

groupmod:修改群组识别码或名称

groupdel:删除用户群组

id:用于显示用户的ID,以及所属群组的ID

w:用于显示目前登入系统的用户信息

su [-lm] [-c 命令] [username]

-:单纯使用-如“su -”,代表使用login-shell的变量文件读取方式来登陆系统;若用户名没有写,则代表切

换为root用户

-l:与-类似,但后面需要加欲切换的用户账号,也是login-shell的方式

-m:-m与-p是一样的,表示使用目前的环境变量设置,而不读取新用户的配置文件

-c:仅进行一次命令,所以-c后面可以加上命令

使用su切换成为root的身份为non-login shell,这种方式下很多原本的变量不会改变。

login-shell:取得bash时需要完整的登录流程。login-shell读取配置文件的顺序是:/etc/profile、

/.bash_profile、/.bashrc、/etc/bashrc。

non-login shell:取得bash接口的方法不需要重复登录。non-login shell会读取的配置文件为:

~/.bashrc、/etc/bashrc。

sudo:是一种以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中的命令。

sudo命令的配置在/etc/sudoers中,sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统

命令的程序

查看当前是哪个用户登录的shell:whoami

sudo [-u 新用户账号]

-u:后面可以接欲切换的用户,若无此项则代表切换身份为root

sudo的执行流程如下(默认只有root用户能使用):

1、当用户执行sudo时,便会让用户输入自己的密码来确认(root执行sudo时不需要输入密码);

2、若欲切换的身份与执行者身份相同,那也不需要输入密码。

3、若密码输入成功,系统会去/etc/sudoers文件中查找该用户是否有执行sudo的权限;

4、若用户具有执行sudo的权限,便开始sudo后续接的命令;

参数代表含义:

1、用户账号:系统哪个账号可以使用sudo这个命令。默认为root用户。

2、登录者的来源主机名:这个账号由哪台主机连接到本地Linux主机。默认值root可来自任何一台网络主机。

3、可切换的身份:这个账号可以切换成什么身份来执行后续的命令。默认root可以切换成任何人。

4、可执行的命令:这个命令最好使用绝对路径编写。默认root可以切换任何身份且进行任何命令。

ALL是关键字,代表任何身份、主机或命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值