跳至主要內容

[Linux基础]-②常见linux指令

holic-x...大约 28 分钟HLWLinux

[Linux基础]-②常见linux指令

[TOC]

常见linux指令

【1】Linux用户和用户组

📌【Linux账号管理】用户处理指令

(1)用户切换

su 用户名 (随后输入用户密码)

# 切换到超级管理员su root
(2)用户密码重置

sudo passwd 用户名(随后根据提示确认新的密码 )

sudo passwd root
(3)添加用户

useradd 选项 用户名

执行权限:root

命令所在路径:/usr/sbin/useradd

选项说明
-c comment指定一段注释性描述
-d 目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
-g 用户组指定用户所属的用户组
-G 用户组指定用户所属的附加组
-s Shell文件指定用户的登录Shell
-u 用户号指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
用户名说明
用户名指定新账号的用户名,后续可使用这个用户名进行系统登录
(4)设置用户密码

passwd 选项 用户名

执行权限:超级用户可以指定所有用户的密码,而普通用户只能修改自身用户密码

命令所在路径:/usr/sbin/passwd

选项说明
-l锁定口令,即禁用账号
-u口令解锁
-d使账号无口令
-f强迫用户下次登录时修改口令
passwd myuser	
# 随后输入新密码并确认即可
(5)修改用户

usermod 选项 用户名

执行权限:root

# 将用户myuser用户名修改为user1
usermod -l myuser user1
(6)删除用户

userdel 选项 用户名

执行权限:root

选项说明
-f强制删除用户,即使用户当前已登录
-r删除用户的同时,删除与用户相关的所有文件
(7)查看登录用户信息

who

执行权限:所有用户

命令所在路径:/usr/sbin/who

📌Linux用户组

(1)增加用户组

groupadd 选项 用户组

执行权限:root

选项说明
-g GID指定新用户组的组标识号(GID)
-o一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
# 添加用户组
groupadd myuser-group
(2)修改用户组

groupmod 选项 用户组

执行权限:root

选项说明
-g GID指定新用户组的组标识号(GID)
-o一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
-n 新用户组将用户组的名字修改为新名称
# 将myuser-group组名修改为mygroup
groupmod -n myuser-group mygroup
(3)删除用户组

groupdel 用户组

执行权限:root

# 删除用户组mygroup
groupdel mygroup
(4)管理用户所属组

查询用户所属用户组

groups 用户名

# 查询myuser用户所属的用户组
groups myuser

查询用户组下所有用户

grep '用户组' /ect/group

# 查询用户组mygroup下所有用户
grep 'mygroup' /etc/group

添加用户到指定用户组

gpasswd [可选项] 组名

# 将myuser添加到用户组mygroup
gpasswd -a myuser mygroup

📌系统管理相关

(1)日期管理

显示或者设置系统日期与实践

date [选项]

执行权限:所有用户

选项说明
-d "时间"显示字符串所指的日期与时间
-s ”时间"根据字符串来设置日期与时间
-u显示GMT
--help在线帮助
--version显示版本信息
# 设置系统时间
date -s "2000-00-01 00:00:00"
(2)显示用户

显示用户名称

logname [--help] [--version]

(3)su切换用户

切换用户

su 用户

# 变更帐号为 root 并在执行 ls 指令后退出返回原使用者
su -c ls root

# 切换至root用户
su root
(4)id命令

查看账号详细信息:显示用户的ID,以及所属群组的ID

执行权限:所有用户

id [-gGnru][--help] [--version][用户名称]
选项说明
-g或--group显示用户所属群组的ID
-G或--groups显示用户所属附加群组的ID
-n或--name显示用户,所属群组或附加群组的名称
-r或--real显示实际ID
-u或--user显示用户ID
-help显示帮助
-version显示版本信息

​ id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。

(5)sudo执行

sudo:控制用户对系统命令的使用权限,root允许的操作

执行权限:普通用户

​ 在使用普通用户操作用户或者操作用户组、以及修改网卡配置文件的时候,需要切换到root用户才操作,则可使用sudo命令提高普通用户的操作权限,以达到操作目的

sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
# ls指令
sudo ls
# 指定root用户指定ls指令
sudo -u root ls -l

# 修改网卡配置文件(或者一些只有管理员权限的文件,普通用户直接保存则会提示【无法打开并写入文件】,借助sudo执行)
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
选项说明
-V显示版本编号
-h显示版本编号及指令的使用方式说明
-l显示出自己(执行 sudo 的使用者)的权限
-vsudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,
这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b将要执行的指令放在后台执行
-pprompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u username/#uid不加参数:代表要以 root 的身份执行指令
加参数:可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H将环境变数中的 HOME 指定为要变更身份的使用者HOME目录(如不加 -u 参数就是系统管理者 root )
-ucommand 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
(6)top命令

实时显示process的动态

执行权限:所有使用者

各进程(任务)的状态监控属性解释说明

参数说明
PID进程id
USER进程所有者
PR进程优先级
NInice值
负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb
VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小,单位kb
RES=CODE+DATA
SHR共享内存大小,单位kb
S进程状态
D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND进程名称(命令名/命令行)
# 显示进程号为7095的进程信息
top -p 7095
(7)ps命令

ps命令用于显示当前进程 (process) 的状态信息

执行权限:所有用户

# 显示进程信息
ps -A
# 显示指定用户信息
ps -u myuser
# 显示所有进程信息
ps -ef 
# 显示指定进程信息(关键字过滤)
ps -ef | grep tomcat
(8)kill命令

kill命令用于删除执行中的程序或工作(可强制中断)

执行权限:所有用户

kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
选项说明
-l <信息编号>若不加<信息编号>选项,则-l参数会列出全部的信息名称
-s <信息名称或编号>指定要送出的信息
[程序][程序]可以是程序的PID或是PGID,也可以是工作编号
# 杀死指定进程
kill 10000
# 强制杀死进程
kill —KILL 10000
# 彻底杀死进程
kill -9 10000

# 杀死指定用户的所有进程(直接杀死、根据用户名进行过滤)
kill -u myuser
kill -9 $(ps -ef | grep myuser)
(9)关机命令

shutdown命令用于关闭系统

执行权限:管理员用户

shutdown [-t seconds] [-rkhncfF] time [message]
# 立即关机
shutdown -h now 或者是 shutdown
# 指定多长时间后关机,并显示警告信息
shutdown +1 "关机警告信息"
# 指定多长时间后重启,并显示警告信息
shutdown –r +1 "关机重启警告信息"
选项说明
-t seconds设定在几秒钟之后进行关机程序
-k并不会真的关机,只是将警告讯息传送给所有使用者
-r关机后重新开机
-h关机后停机
-n不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c取消目前已经进行中的关机动作
-f关机时,不做 fcsk 动作(检查 Linux 档系统)
-F关机时,强迫进行 fsck 动作
time设定关机的时间
message传送给所有使用者的警告讯息
(10)重启命令

reboot命令用于重启计算机

reboot 选项

使用者权限:root、普通用户(需验证)

选项说明
-n在重开机前不做将记忆体资料写回硬盘的动作
-w并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
-d不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
-f强迫重开机,不呼叫 shutdown 这个指令
-i在重开机之前先把所有网络相关的装置先停止后开始重新启动
(11)who命令

who命令用于显示系统中有哪些使用者在线,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等

执行权限:所有使用者

选项说明
-H 或 --heading显示各栏位的标题信息列
-i 或 -u 或 --idle显示闲置时间
若该用户在前一分钟之内有进行任何动作,将标示成"."号;
如果该用户已超过24小时没有任何动作,则标示出"old"字符串
-m此参数的效果和指定"am i"字符串相同
-q 或--count只显示登入系统的帐号名称和总人数
-s此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题
-w 或-T或--mesg或--message或--writable显示用户的信息状态栏;
--help在线帮助
--version显示版本信息
# 显示当前登录系统的用户
who
# 显示明细(标题)信息
who -H
(12)timedatectl命令

​ timedatectl是用于控制系统时间和日期。可以用来查询和更改系统时钟于设定,同时可以设定和修改时区信息

timedatectl

执行权限:所有用户都可使用,但设置实现需要root权限

# 显示系统的当前时间和日期
timedatectl status
# 查看当前失去
timedatectl | grep Time 或者 timedatectl 
# 查看所有可用的时区
timedatectl list-timezones

# ------------------ 需root权限设置时间 ------------------
# 设置本地时区
timedatectl set-timezone "Asia/Shanghai"
# 禁用时间同步
timedatectl set-ntp false
timedatectl set-time "2019-03-11 20:45:00" # 进一步测试时间是否可设定,如果ntp时间同步为true则无法修改时间设定
(13)clear命令

clear命令用于清除屏幕

执行权限:所有用户

(14)exit

exit命令用于退出目前的shell

exit 状态值

​ 执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。exit也可用在script,离开正在执行的script,回到shell

​ 退出码(exit status,或exit code)的约定

  • 0表示成功(Zero - Success)
  • 非0表示失败(Non-Zero - Failure)
  • 2表示用法不当(Incorrect Usage)
  • 127表示命令没有找到(Command Not Found)
  • 126表示不是可执行的(Not an executable)
  • 大于等于128 信号产生

【2】目录处理

📌目录常用指令

常用指令列表

  • ls: 列出目录
  • cd: 切换目录
  • pwd: 显示目前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件与目录或修改文件与目录的名称

自动补全

  • 在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下 tab
  • 如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令
(1)查看目录

​ 列出当前目录下所有的文件:ls (ll:列出当前目录下的文件,包括详细信息)

​ 查看当前访问位置:pwd

​ 列出当前包含隐藏的文件:ls -a

(2)目录创建

​ 创建文件夹:mkdir [folderName](如果要创建多级目录,则指定的目录路径必须存在)

​ 递归创建文件夹:mkdir -p [folderName](递归创建多级目录,如果目录不存在则创建)

(3)目录删除

​ 删除一个空目录:rmdir [-p] dirName

​ -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除

(4)复制文件或者目录

复制文件或者目录:

cp -r sourceFolder targetFolder:完成数据拷贝,但文件的属性会发生变化,相当于创建信息的文件内容

cp -p sourceFolder targetFolder:在复制的同时会保留文件的属性

选项说明
-a此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
-d复制时保留链接(链接相当于Windows中的快捷方式)
-f覆盖已经存在的目标文件而不给出提示
-i与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖
-p除复制文件的内容外,还把修改时间和访问权限也复制到新文件中
-r/R若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
-l不复制文件,只是生成链接文件

重命名或删除文件信息:

  • 剪切文件并重命名:mv [sourceFolder ] [targetFolder]

  • 删除文件信息:rm -rf folder:强制删除文件信息

选项说明
-i删除前逐一询问确认
-f即使原档案属性设为唯读,亦直接删除,无需逐一确认
-r将目录及以下之档案亦逐一删除

小结:

mkdir  创建目录   -p  创建多级目录
pwd  显示当前目录
cd   进入指定目录
rmdir   删除空目录
cp  拷贝文件    -r 拷贝目录  -p保留文件属性
mv  剪切  和重命名
rm  删除文件   -r  删除目录   -f  强制删除

【3】文件处理

🔖文件基本属性

# 键入ls -l 查看文件属性	
drwxr-xr-x. 10 root root 4096 Jan 16 14:39 share
drwxr-xr-x.  2 root root 4096 Mar  3 17:56 src
srwxrwxrwx   1 root root    0 Jul  8  2018 yd.socket.server

在linux中第一个字符代表这个文件是目录、文件或链接文件

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

紧随其后的为【rwx】三个参数的组合(r-可读、w-可写、x-可执行)

对应权限位置不会改变,如果没有该权限则以-表示

符号权限说明
0文件类型(目录、文件、链接、设备等)
123文件所有者拥有的rwx权限
456文件所有者的同组用户拥有的rwx权限
789定其他用户拥有该文件的rwx权限

📌文件处理指令

touch 创建空文件
cat   获取文件内容  -n 显示行号
tac   反向获取文件内容
more  分页显示获取大文件内容    空格或者f 翻页     回车:换行    q退出
less  分页显示   可以向上翻页  pageup  pagedown进行上下翻页
head  显示文件指定的前n行数据
tail  显示文件指定的后n行数据
(1)创建空文件

touch filename

​ touch命令用于创建文件、修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
选项说明
a改变档案的读取时间记录
m改变档案的修改时间记录
c假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样
f不使用,是为了与其他 unix 系统的相容性而保留
r使用参考档的时间记录,与 --file 的效果一样
d设定时间与日期,可以使用各种不同的格式
t设定档案的时间记录,格式与 date 指令相同
--no-create不会建立新档案
--help列出指令格式
--version列出版本讯息

touch的常用应用

# 批量创建myfile-1到myfile-10的空文件
touch myfile-{1..10}.txt

# 改变/更新文件访问时间(通过ls -l查看)
touch myfile-1.txt 
# 查看文件状态信息(文件属性、访问时间、更改时间、最近改动时间)
stat myfile-1.txt
(2)获取文件信息(可显示行号)

cat filename

cat -n filename

(3)反向获取文件信息

tac filename

(4)分页显示文件信息

more filename

less filename

# 查看myfile文件
less myfile
# 结合history、less分页查看历史使用记录
history | less
(5)显示前面、末尾几行内容(可指定行数)

head –n filename

功能说明:显示文件前面几行内容

tail –n filename

功能说明:显示文件末尾几行内容

动态显示末尾几行的内容:tail -nf filename

📌文件搜索指令

(1)find
Find  
-name  根据名字查询  -iname 忽略大小写   * 匹配多个字符   ?匹配一个字符
-size  根据大小查询  +是大于指定的数据块  -是小于指定的数据块
-user  是根据用户查询  -group是根据组查询
-type  根据类型查询  f文件  d目录   l 软连接
-a     两个条件都满足  -o 满足其一即可
# 搜索当前目录及其子目录下所有后缀为.gz的文件
find . -name "*.gz"
# 搜索当前目录及其子目录下所有最近1天内更新过的文件
find . -ctime -1
# 全局搜索
find / -name 'xxx'
(2)locate

​ 注意: locate无法搜索tmp目录下的文件以及新创建的文件

​ 只有当updatedb更新资料库的时候才能通过locate进行查询

​ Locate相对于find的查询效率更高,但是不具备实时性

(3)which

​ 搜索命令所在目录及别名信息

(4)whereis

​ 搜索命令所在目录及帮助文档路径

(5)grep
grep -iv [指定字符串][文件]
选项说明
-i不区分大小写
-v排除指定字符串
# 搜索myfile文件中存在关键字【key】的行
grep key myfile
# 搜索myfile文件中存在关键字【key】的行并显示行号
grep -n key myfile
# 忽略大小写搜索myfile文件中存在关键字【key】的行
grep -i key myfile
# 搜索myfile文件中不存在关键字【key】的行
grep -v key myfile

# 查找指定的进程信息(包括grep进程)
ps -ef | grep  sshd
# 查找指定的进程信息(不包括grep进程)
ps aux | grep sshd | grep -v "grep"
# 查找进程个数
ps -ef | grep -c sshd

📌文件所属管理

(1)chgrp更改文件所属组
chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]  
chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
# 将myfile文件所属组修改为mygroup
chgrp -v mygroup myfile
(2)chown更改所属主、组

​ Linux中每个文件都有相应的拥有者,利用chown指令可以变更档案的所属主、组,系统管理员root拥有访问所有文件的权限,而一般使用者没有权限变更自身或者别人的档案拥有者

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
# 将myfile文件所属主变更为myuser
chown myuser myfile
# 将myfile文件所属主、组分别变更为myuser、mygroup
chown myuser:mygroup myfile
(3)chmod权限命令

​ Linux的文件调用权限分为三级 : 文件属主、属组、其他。利用 chmod 可以控制文件如何被他人所调用,其中需要借助数字或者符号设定文件属性

chmod [-cfvR] [--help] [--version] mode file...

mode:权限设定字符串

[ugoa...][[+-=][rwxX]...][,...]
  • ugoa:u-文件拥有者、g-文件拥有者同组的用户、o-其他用户、a-三者都是
  • +-=:+表示增加权限、- 表示取消权限、= 表示唯一设定权限
  • rwxX:r-可读、w-可写、x-可执行、X-表示只有当该档案是个子目录或者该档案已经被设定过为可执行
数字方式权限变更
权限英文缩写数字
readr4
writew2
执行executex1
无权限-0

​ 而每种权限的组合对应为数字的叠加和,以 [-rwxrwx---] 为例,1-9的字符对应为rwx、rwx、---,因此其对应的数字权限分析为

# 数字方式权限变更
chmod -R xyz 文件/目录
-R:进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
xyz:对应的数字类型的权限属性(rwx累加)
符号方式权限变更

​ 以 [-rwxr-xr--] 为例,1-9的字符对应为rwx、r-x、r--,因此其对应的符号权限分析为u=rwx,g=r-x,o=r--

# 符号方式权限变更
chmod u=rwx,g=rx,o=r filename

# 取消所有人的可读权限,而不改变其他已存在的权限
chmod a-r filename

【4】其他常用指令

📌网络相关

(1)ping

ping 选项 IP地址

功能说明:测试网络连通性

执行权限:所有用户

# 指定接收包次数
ping -c 2 127.0.0.1
# 检测是否和主机联通(通常借助ping检测本地和目标机器是否连通)
ping www.baidu.com

响应参数说明

  • icmp_seq:ping序列,从1开始

  • ttl:IP生存时间值

  • time:响应时间,数值越小,联通速度越快

(2)ifconfig

​ ifconfig是Linux中用于显示或配置网络设备的命令,英文全称是network interfaces configuring

ifconfig 网卡名称 IP地址

功能说明:查看、设置网卡信息

执行权限:所有用户

# 查看网卡信息
ifconfig
# 设置网卡信息(慎用)
ifconfig 网卡名称 IP地址
# 开启|关闭网卡(需root账户)
ifconfig 网卡名称 up|down

​ 由于在使用腾讯云轻量服务器测试的时候不消息修改了eth0的网卡IP,导致SSH和宝塔面板连接失败,这种情况需要通过重启实例的方式进行复原

参考说明

​ eth0(有些为ens33)表示第一块网卡,对应IP地址、广播地址、掩码地址等可通过ifconfig指令查看

lo是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口

(3)mail

mail 用户名

功能说明:查看发送电子邮件

执行权限:所有用户

(4)last

last

功能说明:列出目前与过去登录系统的用户信息

执行权限:所有用户

# 查看目前与过去登录系统的用户信息
last
(5)netstat

netstat 选项

功能说明:显示网络相关信息(借助netstat了解整个Linux系统的网络情况)

执行权限:所有用户

# 显示详细的连接状况
netstat -a

# 显示网卡列表
netstat -i
(6)mount

mount [-t 文件系统] 设备文件名 挂载点

功能说明:挂载命令

执行权限:所有用户

📌解压命令

(1)gzip、gunzip

gzip 文件

功能说明:压缩指定文件,压缩后文件格式为.gz

gunzip 文件

功能说明:解压缩.gz格式的文件

(2)tar

压缩文件,压缩后文件格式为.tar.gz

tar [选项] [压缩后文件名] [目录]
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩

解压文件

tar [选项] [压缩后文件名] [目录]
-x 解包
-v 显示详细信息
-f 指定文件名
-z 解压缩
(3)zip、unzip

zip

zip[必要参数][选择参数][目录] 
# 进入指定目录,压缩当前目录下所有文件,生成xxx.zip
zip -q -r xxx.zip *

unzip

# 查看指定压缩文件中包含的内容(列举压缩文件中文件的详细信息:文件大小、日期、时间、名称、总数量、总大小)
unzip -l xxx.zip
# 解压指定压缩文件至指定的目录(unzip -d [指定目标目录] [指定压缩文件])
unzip -d ./xxx xxx.zip
(4)bzip2、bunzip2

bzip2

".bz2"是 Linux 的另一种压缩格式,相对于.gz格式而言其算法更为先进、压缩比更好、时间更快

​ 若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件

bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级][要压缩的文件]
# 创建文件test.txt,并使用bzip2进行压缩(不指定参数,压缩完成会生成test.txt.bz2文件并且删除test.txt源文件)
bzip2 test.txt

bunzip2

bunzip2 [-fkLsvV] [.bz2压缩文件]
# 解压test.txt.bz2文件(解压缩的文件,并删除原压缩文件)
bunzip2 -v test.txt.bz2

📌磁盘命令

(1)lsblk(list block)

​ 使用lsblk命令可以以tree的形式展示所有设备的信息,列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息

lsblk [参数]
# 显示结果
NAME   MAJ:MIN   RM  SIZE   RO  TYPE   MOUNTPOINT
sr0     11:0      1  16.5M  0   rom  
vda     253:0     0   80G   0   disk 
?..vda1 253:1     0   80G   0   part   /
参数说明
NAME块设备名
MAJ:MIN主要和次要设备号
RM设备是否可移动设备(1:是;0:否)
SIZE设备的容量大小信息
RO设备是否为只读
TYPE块设备是否是磁盘或磁盘上的一个分区
MOUNTPOINT设备挂载的挂载点
# 默认选项不会列出所有空设备
lsblk -f
# 显示结果
NAME   FSTYPE  LABEL         UUID                                 MOUNTPOINT
sr0    iso9660 config-2  xxxx-xxxx-xxxxx-xxxxx               
vda                                                          
?..vda1 ext4             4b499d76-769a-40a0-93dc-4a31a59add28        /
参数说明
NAME设备名称
FSTYPE文件类型
LABEL设备标签
UUIDUUID设备编号
MOUNTPOINT设备的挂载点
(2)df

​ Linux的df命令类似于Windows中磁盘管理概念,用于显示目前在Linux系统上的文件系统的磁盘使用情况统计

# 显示磁盘使用情况统计情况
df
# 显示结果
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs         1929136       0   1929136   0% /dev
tmpfs            1940084      24   1940060   1% /dev/shm
tmpfs            1940084     544   1939540   1% /run
tmpfs            1940084       0   1940084   0% /sys/fs/cgroup
/dev/vda1       82437508 9789148  69192896  13% /
tmpfs             388020       0    388020   0% /run/user/0
参数说明
Filesystem文件系统的名称
1K-blocks指定一个特定的文件系统
1K-块:1K是1024字节为单位的总容量
Used已用容量
Available可用容量
Use%已用容量占比
Mounted on文件系统的挂载点
# 显示磁盘使用的文件系统信息
df 目录名

# 显示所有信息(会在文件系统列举的最后输出一行记录总数)
df -total

# 显示换算后的文件系统信息(会将单位K换算为更易理解的G-千兆字节、M-兆字节、K-千字节)
df -h
(3)mount命令

挂载概念

​ 在Linux当中所有的存储设备如u盘、光盘、硬盘等,都必须挂载之后才能正常使用。其实挂载可以理解为Windows当中的分配盘符,只不过windows当中是以英文字母ABCD等作为盘符,而linux是拿系统目录作为盘符,当然linux当中也不叫盘符,而是称为挂载点,而把为分区或者光盘等存储设备分配一个挂载点的过程称为挂载

​ 在安装linux系统时设立的各个分区,如根分区、/boot分区等都是自动挂载的,也就是说不需要我们人为操作,开机就会自动挂载。但是光盘、u盘等存储设备如果需要使用,就必须人为的进行挂载。类似地,在windows下插入U盘也是需要挂载(分配盘符)的,只不过windows下分配盘符是自动的

​ Linux中的根目录以外的文件要想被访问,需要将其“关联”到根目录下的某个目录来实现,这种关联操作就是“挂载”,这个目录就是“挂载点”,解除次关联关系的过程称之为“卸载”。

📌帮助指令

(1)man

man [命令或配置文件]

​ 详细查阅某个命令,包括命令的介绍和使用方法以及参数

(2)help

help [命令]

功能说明:获取Shell内置命令的帮助信息

​ 一些shell内置的命令无法通过man获取,只能通过help获取

📌echo命令

echo:将字符串输出到控制台,通常与”重定向”联合使用

# 打印”hello linux”字符串到控制台
echo "hello linux"

重定向:>(覆盖)、>>(追加)、&>>将命令的失败结果追加指定文件的后面

通过echo+重定向可将结果输出到文件

# 将"hello"覆盖到test.txt文件(如果没有该文件会自动创建)
echo "hello" > test.txt
# 清空指定文件内容
echo > test.txt

# 在test.txt文件中末尾追加字符串"test linux"
echo "test linux" >> test.txt
# 执行指定命令并将命令执行的失败结果追加到指定的文件后面
cat 不存在的文件 &>> error.log 

📌软连接

​ Linux中的软连接(link)类似于Windows中的快捷方式,通过构建软连接便于定义文件或目录

ln -s 目标文件绝对路径 快捷方式路径

【5】vim编辑器常用命令

​ VIM是Linux上最常用的文本编辑器 ,它没有菜单,只有命令,所有的操作都是通过命令完成

vi/vim模式主要分为以下三种:

  • 命令模式:在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。
  • **编辑模式:**在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。
  • **末行模式:**在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行

a.插入命令

a  在光标所在字符的之后插入数据
A  在光标所在行的末尾插入数据

i 在光标所在的字符处插入 
I 在光标所在行的首部插入

o 在当前光标所在的下一行插入
O 在当前光标所在的上一行插入

按esc退出编辑模式

:wq  保存并退出
:q   没有修改直接退出
:q!  修改了内容,但是不保存直接退出

异常处理

​ 如果vim异常退出, 在磁盘上可能会保存有交换文件,则再使用vim 编辑文件时, 会提示交换文件已存在,可通过将后缀名为.swp文件删除从而恢复vim正常运作

b.定位命令

:set nu   设置行号
:set nonu 取消行号
:gg  到第一行
:G   到最后一行
:nG  50G 到第50行
:n   到第n行

c.删除命令

:x      删除光标所在位置的字符 删除的是单个字符
:nx     删除光标之后的n个字符   5x删除之后的5个字符
:dd     删除光标所在的行
:dG     删除光标所在的行 到末尾的内容
:n2,n2d 删除指定范围的  :20 ,:30 d  删除20-30行的数据

d.复制和剪切的命令

:yy   复制当前行
:p    粘贴在当前光标所在行的下方  P 是粘贴在光标所在处的上方
:nyy  3yy 复制当前行以及之后的3行
:dd   删除 –>剪切
:ndd  剪切当前行以及之下的n行   3dd   

e.替换取消命令

:u  取消上一步的操作
:r  取代光标所在的位置的字符   
:ZZ 直接保存并退出
:w  修改
:wq 修改并 退出
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3