Linux常用基本命令及语法

目录

Linux基础

一.基础命令

1.查看系统信息及注销命令
(1)注销及关机重启命令
命令 功能说明
logout或exit 注销用户
reboot/shutdown -r now 重启
halt/shutdown -h now 关机
【命令+选项+参数--递进关系】
(2)查看系统信息命令
命令 功能说明
uname -r 或 uname -a 查看Linux内核版本
df 查看文件系统的磁盘空间大小和剩余空间大小
uptime 显示系统已经运行了多长时间
free 查看当前系统内存的使用情况的命令
cat /proc/cpuinfo 查询有关CPU的纤细硬件信息命令
top 查看CPU具体的使用情况的命令
last 查看登录信息的命令
w 查看哪些用户登录到我们的系统的命令
cal 查看日历或年历
date 显示当前的日期
2.目录切换命令
(1)目录切换
命令 功能说明
pwd 查看完整路径
cd 切换到主目录
cd /路径 切换到指定路径目录
cd.. 切换到上一级目录
cd - 返回到上一个使用的目录

特殊目录符号:“.”表示当前工作目录“…”表示父目录 “~”表示用户主目录 “-” 表示前一个工作目录

tab键:自动补齐 Ctrl+K将光标后面的清除 Ctrl+U把前面输错的清除 Ctrl+L清屏

Ctrl+C终止命令执行

(2)显示文件
命令 功能说明
ls 列出当前目录下的文件及目录(蓝色的表示目录,黑色表示普通文件)
ls /目录名 显示指定文件目录
ls -a 显示当前目录的所有文件(包括隐藏文件,以.号开头)
ls -l 查看文件的详细信息(可简写为ll)
ls -l -h 以方便阅读的形式进行显示(文件大小)
ls --help 显示ls命令的帮助信息

蓝色代表目录(文件夹);灰色代表普通文件;绿色代表可执行文件;红色代表压缩文件;天蓝色代表链接文件(快捷方式)

(3)路径分类

绝对路径和相对路径:

cd /etc/sysconfig/network-sysconfig/ 绝对路径

cd /network-sysconfig 相对路径,在network-sysconfig的上一级目录输入命令不需要完整路径

3.Linux的文件管理命令
(1)用mkdir创建目录

命令格式:mkdir 目录名

mkdir s1 在当前文件夹里创建目录

mkdir /home/zhangjiedada/s1 指定文件夹里创建目录

mkdir s1 s2 s3 同一个同时建立几个文件

mkdir /home/zhangjiedada/s1 /home/zhangjiedada/s2指定文件夹里建立多个

mkdir -p aa/bb/cc 建立一个路径

mkdir -m 755 sss 建立目录并设置权限

(2)用touch命令创建/更新文件

命令格式:touch 文件名

touch 文件名 /cat/room 指定目录创建文件

(3)用cp命令复制文件及目录

命令格式:cp 源文件名 目标目录名

例:

cp 1.txt 2.txt :复制1.txt到2.txt里

cp 1.txt s1/ :复制1.txt到s1文件里

cp -r s1 s2/ : 复制s1目录及其内文件到s2目录里

(4)使用mv命令移动/重命名文件及目录

命令格式:

mv /目录/当前文件名 /目录/重命名 : 移动一个文件到另一个目录下并更改文件名

mv 当前文件名 重命名 : 更改当前目录下的文件名

(5)使用rm命令删除文件

命令格式:rm [选项] 文件名

选项 功能说明
rm -f 不提示,删除文件
rm - r 删除目录
rm -rf 直接删除不提示
rmdir 删除目录(只能删除目录并且是空目录)
(5)查找命令
命令 功能说明
find 搜索命令
grep 查找文件内容
(6)其他命令
命令 功能说明
history 查看历史命令
help 查看命令帮助信息
man 字符界面下常使用man命令获取帮助
info 在命令行下使用获取帮助
> 覆盖
>> 追加
| 管道符

二. 用户管理

1.用户目录

用户配置文件 :/etc/passwd 存放用户有关信息 /etc/shadow存放密码

用户组配置文件: /etc/group存储组的信息 /etc/gshadow 存储组的密码

2.用户与用户组的概念

超级用户:Root 拥有对系统的最高管理权限

普通用户:只能对自己目录下的文件进行访问和修改

虚拟用户:也叫“伪”用户,其不能登录系统,主要作用是方便系统管理满足相应的系统进程对文件属主的要求。

主要组(主组):每个用户有且只有一个主要组,创建用户时默认创建;

附属组(补充组):用户可以是零个或多个附属组成员。一般用于帮助确保用户具有对系统中文件及其他资源的访问权限。

www 修改网页

ftp 上传软件到服务器

Mysql 进行MySQL数据的查询

可以同时登录在系统进行不同的作业,互相不干扰

3.用户组配置文件
(1)用户配置文件/etc/passwd

在 passwd 配置文件中,从左到右各个字段的含义如下:
用户名:用户登录系统时使用的用户名。
口令:存放加密的口令,被/etc/shadow 文件保护。
用户标识号(UID):系统内部用它来标识用户,每个用户的 UID 都是唯一的。
用户组标识号(GID):系统内部用它来标识用户所属的组,这里的 GID 是主组 GID。
注释性描述:为了方便管理和记忆该用户而添加的信息。
用户主目录:也称家目录,用户登录系统后所进入的目录。
命令解释器:指示该用户使用的 Shell,CentOS Linux 7 默认的是 bash。如果指定 Shell 为/sbin/nologin,则代表用户无法登录系统。

(2)用户密码配置文件/etc/shadow

在 shadow 配置文件中,从左到右各个字段的含义如下:
用户名:用户账户名。
密码:用户的加密密码。
最后一次修改的时间:从 1970 年 1 月 1 日起,到用户最后一次更改密码的天数。
最小时间间隔:从 1970 年 1 月 1 日起,到用户可以更改密码的天数,(0 表示随时可以变更)。
最大时间间隔:从 1970 年 1 月 1 日起,到必须更改密码的天数,否则密码将过期,(99999 表示永远不 过期)。
警告时间:在密码过期之前多少天提醒用户更新,默认值是 7 天。 不活动时间:在用户密码过期之后到禁用账户的天数。
失效时间:从 1970 年 1 月 1 日起,到账户被禁用的天数。 标志:保留位。

4.用户管理命令

用户类型bash/nologin 可登录系统/不可登录系统

(1)用useradd命令创建用户

命令格式:useradd [选项] 用户名

选项 功能说明
-d 指定用户主目录
-g 指定用户组
-n 若主目录不存在,则创建
-M 不创建主目录
-s 指定登录时使用的shall类型,默认为/bin/bash,如果为/bin/nologin就是虚拟用户
-c 设置对该账号的注释说明文字
-r 创建系统账号(用户ID小于1000,从999起按照递减的顺序创建),默认不创建对应的主目录
-u 手工指定新用户的ID值,该值必须唯一,且大于999
(2)用passwd命令管理用户登陆密码

命令格式:passwd [选项] [用户名称]

选项 功能说明
-l 锁定用户密码
-u 解锁用户密码
-S 查询用户密码状态
-d 删除用户密码
(3)用usermod命令修改用户属性

命令格式:usermod 选项 用户名

选项 功能说明
-l 修改用户名
-c 修改用户描述信息
-d 修改主目录
-L 锁定账号,临时禁止用户登录
-U 对账号解锁
-g 修改用户所属组
-G 修改用户附加组
-s 修改用户登录的shell类型
-u 修改用户ID号
-e 修改用户有效期
-f 修改用户密码在多少天后过期
(4)用userdel命令删除用户

命令格式:userdel -r 用户名

userdel jack 删除jack用户

userdel -r jack 删除jack用户及其主目录

(5)修改用户注释信息的chfn命令

命令格式:chfn [选项] [用户名]

选项 功能说明
-f 设置真实姓名
-h 设置家中的电话号码
-o 设置办公室的地址
-p 设置办公室的电话号码
(6)用于修改用户口令有效期限的chage命令

命令格式:chage[选项] 用户名

选项 功能说明
-m 密码可更改的最小天数,为零时代表任何时候都可以更改密码
-W 用户密码到期前,提前收到警告信息的天数
-M 用户密码到期前,提前收到警告信息的天数
-E 账号到期的日期,过了当天,此账号将不可用
-d 上一次更改的日期
-I 停滞时期,如果一个密码已过期这些天,那么此账号将不可用
-l 列出当前的设置,由非特权用户来确定他们的密码或账号何时过期
(7)修改用户Shell类型的chsh命令

命令格式:chsh -s /位置/类型 用户名

5.用户组管理命令
(1)用groupadd命令创建用户组

命令格式groupadd [r] 用户组名称

创建成功后用 cat /etc/group 查看

(2)用groupmod 命令修改用户组属性

命令格式:groupmod 选项 组名

选项 功能说明
-n 修改组名
-g 修改用户组标识号(主组)
(3)用groupdel命令删除用户组

命令格式:groupdel 组名

(4)用gpasswd命令管理组中成员

命令格式:gpasswd 选项 用户名 组名

选项 功能说明
-a 添加用户到组
-d 将用户从组中删除
-A 设置用户为组管理员
-M 同时添加几个用户到一个组
(5)使用newgrp使当前用户临时加入用户组

设置组密码: gpasswd 组名
为什么要设置组密码?
为组设置密码后其他用户可以使用这个命令临时加入该组并具有该组的权限

命令格式:newgrp 用户组

6.扩展
命令 功能说明
id 可查看用户的信息,可查看用户属于哪个组和groups相似,但其能显示id号
groups 可以输出指定用户所在组
who am i 可以查看当前登录用户
w 可以查看当前用户的登录记录
who 可以查看登录用户
last 可以查看登录用户历史
ps aux 查看系统进程
kill -9 停止后台进程
Ctrl+c 终止当前进程
id命令可查看用户的信息,可查看用户属于哪个组和groups相似,但其能显示id号 groups命令可以输出指定用户所在组 who am i命令可以查看当前登录用户 w命令可以查看当前用户的登录记录 who命令可以查看登录用户 last命令可以查看登录用户历史 ps aux查看系统进程 kill -9 停止后台进程 Ctrl+C 终止当前进程 ### 三.文件权限管理
1.文件的属性

文件属性由10个字母或符号组成,其中第一个字母表示文件类型,后九个字母分为三组,表示文件的访问权限。

类型标识 r w x r w x r w x
/// 文件所有者对该文件的权限 组用户对该文件的权限 其他用户对该文件的权限
字母形式表示 u g o
数字形式表示 4 2 1

r w x :读 写 执行 ;如哪一项被”-“代替,则说明没有对应权限

文件属性的第一个字母是文件类型。在Linux操作 系统中,共有七种文件类型,分别是:

字母类型 释义
d(directory) 目录文件
c(character) 字符设备文件
l(link) 符号链接
p(pipe) 命名管道文件
s(socket) 套接字文件
- 普通文件 更准确地说,不属于以上几种类型的文件
b(block) 块设备文件,二进制文件
2.修改文件权限

chmod

(1)以字母形式修改文件权限

u:文件所有者 g:文件属组 o:其他用户 a:所有用户

举例:

cd /mnt 进入mnt目录

mkdir files 创建files目录文件

chmod u-w files 删除u的w权限

chmod u+w files 添加u的w权限

chmod g-x files 删除g的x权限

chmod g+wx files 添加g的w和x权限

chmod o=— files 删除o的所有权限

chmod o=rwx files 添加o的所有权限

ll 查看目录属性

(2)以数字形式修改文件权限

r=4 w=2 x=1

举例:

drwxr-x— 750

drwxr-xr-x 755

写法:chmod 755 文件名

3.提升用户权限

查看是否安装了sudo :rpm -qa|grep sudo

如果没有安装则在系统光盘中找到sudo的rpm包进行安装:rpm -vih /media/Packages/sudo-1.8.6p7-16.e17.x86_64

编辑vim /etc/sudoers文件,在文件最后输入:teacherli ALL=(ALL) ALL 保存退出登录teacherli用户后,就可以用sudo命令的方式进行系统的管理了(这里讲的不清楚,下来可以再百度一下具体操作)

4.系统高级权限的设置
(1)访问控制列表ACL(针对其他用户中部分用户而进行的权限设置)

设置ACL命令格式:setfacl[选项]设定值 文件名

选项 功能说明
-m 设定或修改一个 ACL规则
-x 取消一个ACL规则
-b 取消所有的ACL规则

通过getfacl命令可以查看ACL权限///通过setfacl -m命令可以修改ACL权限

例:

setfacl -m u:s1:rwx files 给s1用户files的rwx权限

getfacl files 查看拥有files权限的用户

(2)设置强制(粘滞)位权限SBIT

命令格式:chmod o+t 目录名

它可以让用户间只能对自己写入的文件进行删改,而不能随意删改别人写入的文件

(3)sudo提权

提升用户权限

查看是否安装了sudo:rpm -qa|grep sudo

如果没有安装则在系统光盘中找到sudo的rpm包进行安装:rpm -vih /media/Packages/sudo-1.8.6p7-16.e17.x86_64

编辑vim /etc/sudoers文件,在文件最后输入:teacherli ALL=(ALL) ALL 保存退出登录teacherli用户后,就可以用sudo命令的方式进行系统的管理了

把后面的ALL换成NOPASSWD:ALL 不需要输入密码则可操作。

5.修改目录属组及管理者

chown命令

命令格式:

chown :组名 文件名 把指定目录换到另一个组里

chown 用户名 文件名 把指定目录换成另一个管理者

chown 用户名:组名 文件名 把指定目录换到另一个组里并换管理者

6SGID权限

用户建立文件,所属组为目录所属组
命令格式:
chmod g+s 目录名

S权限大小写说明:小写说明s下面还有x权限,大写则说明无x权限
drwxrws–x

四.vim编辑器

1.vim编辑器的工作模式:

[root@localhost~]# vim 文件名 :进入文件命令模式
命令模式 →a、i、o等键→ 输入模式 →Esc键→ 命令模式
命令模式 →:→ 末行模式 →Esc键→ 命令模式

2.vim编辑器的使用

cat /etc/passwd>passwd.txt 把passwd里的内容导入passwd.txt里

vim passwd.txt 编辑passwd.txt文件

(1)光标移动
命令 功能说明
光标方向移动 ↑、↓、←、→, 上下左右
翻页 ​ Page Down或Ctrl+F 向下翻动一整页内容
Page Up或Ctrl+B 向上翻动一整页内容
行内快速跳转 ​ End键或“$”键 跳转到行尾
#→ 向右移动#个字符
​ #← 向左移动#个字符
行间快速跳转 1G或gg 跳转到文件的首行
G 跳转到文件的末尾行
#G 跳转到文件中的第#行
行号显示 :set nu 在编辑器中显示行号
:set nonu 取消编辑器中的行号显示
(2)复制、粘贴、删除
命令 功能说明
删除 x或Del 删除光标处的单个字符
dd 删除当前光标所在行
#dd 删除从光标处开始的#行内容
​ d^ 删除从光标处开始的#行内容
​ d$ 删除当前光标处到行尾的所有字符
复制 yy 复制当前行整行的内容到剪贴板
​ #yy 复制从光标处开始的#行内容
粘贴 p 将缓冲区中的内容粘贴到光标位置处之后
(3)文件内容查找(命令模式下进行操作)
命令 功能说明
/word 从上而下在文件中查找字符串“word”
?word 从上而下在文件中查找字符串“word”
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串
(4)撤销编辑(命令模式下进行操作)
命令 功能说明
u 按一次取消最近的一次操作,多次重复按u键,恢复已进行的多步操作
U 用于取消对当前行所做的所有编辑
(5)保存文件及退出vi编辑器(末行模式下进行操作)
命令 功能说明
保存文件 :w 保存
:w /root/newfile 另存为其他文件
退出vim :q 未修改退出
​ :q! 放弃对文件内容的修改,强制退出
保存文件并退出vim :wq 保存并退出
(6)文件内容替换
命令 功能说明
:s /old/new 将当前行中查找到的第一个字符串"old"替换为”new“
:s /old/new/g 将当前行中查找到的所有字符串”old“替换为”new“
:#,# s /old/new/g 在行号”#,#“范围内替换所有的字符串”old“为”new“
:% s /old/new/g 在整个文件范围内替换所有的字符串”old“为”new“
:s /old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

五.磁盘分区与系统挂载

如何查看分区:fdisk -l

硬盘在Linux系统中的表示方式:

IDE接口的硬盘(淘汰了):hda 表示第一块硬盘 hda1 hda2 hda3
SATA硬盘或SCSI(包含USB):sda sda1 sda2…
所有硬盘及硬盘分区以文件形式存储在/dev目录下,不能直接使用往设备文件中写入文件。
如果要往磁盘分区中写入文件,就需要进行挂载。

1.文件系统挂载
(1)挂载文件系统

挂载由mount命令来完成,可以灵活的挂载各种类型的文件系统。

命令格式:mount 选项 设备名 挂载点

选项 功能说明
-t 文件类型 指定要挂载的文件系统的类型,如果不清楚,可以使用-t auto让系统自己选择最合适的文件系统类型挂载。
-r 以只读的方式挂载文件系统
-w 以读写的方式挂载文件系统,默认选项
-o 设置挂载属性
-a 挂载/etc/fstab文件中记录的设备
(2)卸载文件系统

文件系统可以被挂载,不用时可以被卸载。
卸载文件系统的命令是umount
这个命令可以把文件系统从Linux系统中的挂载点上分离,将原来建立的文件系统和挂载点的连接断掉。

命令格式:umount [设备名或者挂载点]

在卸载一个文件系统的时候,需要指定要卸载的文件系统的挂载点或者设备名。例如:

#umount /dev/sdb1 //指定设备名卸载

#umount /mnt/sdb1 //指定挂载点卸载

如果卸载文件系统提示:“busy状态,不可卸载时”,使用fuser命令查看正在使用该文件系统的用户信息。

命令格式:fuser [options] 文件系统名或者文件名

选项 功能说明
-a 显示所有在命令行中指定的文件系统信息。默认情况下,至少被一个进程访问的文件才会被显示
-k 杀死访问文件的进程
-i 在杀死使用文件的用户进程之前,提示确认
-u 显示使用文件系统的进程的所有者信息
-v 按进程查看命令ps的显示模式,显示文件的使用者信息,包括PID、USER、COMMAND等

例:查看哪个进程打开了当前目录下的cdrom文件夹。

[root@localhost~]# fuser /mnt/cdrom

/mnt/cdrom: 71992c

使用kill命令杀死进程

​ #kill -9 71992

​ #fuser -km /mnt/cdrom

(3)挂载点

所谓的挂载点就是文件系统中存在的一个目录,通常情况下,创建在/mnt目录下,挂载成功后,访问挂载点就是访问新的存储设备。挂载点应该是空目录,否则原来该挂载点中存在的文件将会被隐藏。而且,挂载点在实施挂载操作之前就应该存在。

例:挂载光盘
光驱的表示方式:/dev/sr0
如何查看光盘自动挂载到了哪个目录?
mount | grep sr0
如果要将光盘挂载到/mnt/cdrom目录,如何做呢?
首先:在/mnt/目录下建立cdrom文件夹
其次:挂载光盘 mount [-t 文件系统类型] 设备文件 目录名称
mount -t iso9660 /dev/sr0 /mnt/cdrom
取消挂载:umount 目录名称 (前提是退出挂载目录)

2.磁盘分区与挂载

(1)向系统中添加一块硬盘,并重启虚拟

(2)由系统识别硬盘名(sdb):使用fdisk -l

(3)对新硬盘进行分区(分2个主分区,分别是5G 1个扩展分区,2个逻辑分区分别为5G)

fdisk 设备名称 fdisk /dev/sdb

n:新建分区

p:查看分区

w:保存

fdisk -l 查看磁盘信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5A0qn6io-1582981733348)(file:///C:\Users\dell\AppData\Local\Temp\ksohtml9984\wps1.jpg)]

(4) 对分区进行格式化

mkfs -t ext4 设备分区文件名

mkfs -t ext4 /dev/sdb1

(5) 创建文件系统

/mnt/sdb1 /mnt/sdb2

(6) 挂载使用

mount -t ext4 /dev/sdb1 /mnt/sdb1 (临时挂载)

3.文件系统的自动挂载(永久挂载)

第1字段:需要挂载的设备文件名。

第2字段:挂载点,必须是一个目录,而且必须用绝对路径。对于交换分区,这个字段定义为swap。

第3字段:文件系统的类型。如果是ext3文件系统,则写成ext3;如果是FAT32文件系统,则写成vfat;如果是光盘,可以写成auto由系统自动检测或iso9660。

第4字段:挂载选项。一般都是采用“defaults”。

第5字段:文件系统是否需要dump备份,1表示需要,0表示忽略。

第6字段:在系统启动时是否检查这个文件系统以及检查的顺序,

0表示不检查,1表示优先检查,2表示其次检查。

mount -a

六.文件打包、压缩与解压

1.zip命令
(1)压缩文件

zip -r myfile.zip ./*

将当前目录下的所有文件和目录全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.

(2)解压文件

unzip

unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;

(3)其他

zipinfo myfile.zip
查看压缩文件中的文件
zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件
zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件

2.TAR包管理工具简介

TAR(Tape Archive,TAR)是Linux下的包管理工具,具有5种功能:打包、查询、释放、更新、追加。

命令格式:tar [主选项+辅助选项] [文件或目录]

选项 功能说明
-c 创建新的tar包
-t 列出tar包文件的列表
-x 从tar包中释放文件
-r 把备份文件追加到已备份文件的末尾
辅助选项 功能说明
-f 选择文件或设备,必选项
-v 显示命令执行的详细信息
-z 用gzip来压缩/解压缩文件
-j 用bzip2来压缩/解压缩文件
-C 指定文件解压后的存放路径

对文件进行打包:tar -cf xx.tar files.txt sdb1.txt

列出tar包文件包含的文件:tar -tf xx.tar

解包到当前目录:tar -xf xx.tar -C ./

压缩为gzip: tar -zcf yy.gz files.txt sdb1.txt

压缩为bzip2:tar -jcf yy.bz2 files.txt sdb1.txt

3.rar命令

下载rarlinux-x64-5.7.1.tar.gz:https://www.rarlab.com/download.htm

解压后将rar文件到/usr/local目录下:tar -xf rarlinux-x64-5.7.1.tar.gz -C usr/local/

然后执行以下命令

ln -s /usr/local/rar/rar /usr/local/bin/rar

ln -s /usr/local/rar/unrar /usr/local/bin/unrar

压缩文件:rar a test.rar ./test/

列出压缩文件:rar l test.rar

解压文件:rar x test.rar ./

发布了11 篇原创文章 · 获赞 11 · 访问量 474

猜你喜欢

转载自blog.csdn.net/zjdda/article/details/104581959