Linux常用基础命令详解

Linux常用命令详解

目录相关命令

pwd

pwd:print working directory 打印工作目录,即显示当前目录

cd

cd : change directory 切换目录
cd:切换到家目录
cd ~:切换到家目录
cd username:切换到指定用户家目录
cd -:切换到上一个目录,系统会自动保存上一个目录至$OLDPWD
cd …:切换到上一级目录

[root@Beyo home]# cd ~
[root@Beyo ~]# pwd
/root
[root@Beyo ~]# cd -
/home
[root@Beyo home]# echo $OLDPWD
/root

ls

ls : list 列出指定目录的文件,默认是当前目录。
ls -a:–all,显示所有文件,包括隐藏文件
ls -A:显示除了.和…以外的所有文件
ls -l:–long,长格式列表,即显示文件的详细信息

drwxr-xr-x 2 root root        109 Dec  2 18:46 apps
-rw-r--r-- 1 root root        230 Dec  2 18:46 build.info
第一列:第1位-文件类型;第234位-文件属主权限;第567位-文件属主所在用户组权限;第8910位-其他用户和组的权限
第二列:文件被硬链接的次数
第三位:文件属主
第四列:文件属主所在用户组
第五列:文件大小,单位是字节

ls -h:–human-readable,对文件大小单位进行换算,成为人类易于读取的单位
ls -d:查看目录本身,常和-l一起使用,用于查看目录本身的属性
ls -r:–reverse,逆序显示
ls -R:–recursive,递归显示

tree

tree:用于以树状图的形式列出目录内容及结构
tree -a:显示所有文件,包括隐藏文件
tree -d:仅显示文件夹
tree -f:以指定目录为根节点显示绝对路径

[root@Beyo dbbackup]# tree -adf
.
├── ./daily
└── ./dbbackup
    ├── ./dbbackup/file
    ├── ./dbbackup/log
    └── ./dbbackup/sh

文件查看相关命令

cat

cat:concatenate,查看文本文件
cat -n:显示行号
cat -E:显示行结束符$

tac

与cat相同,但文件内容按行逆序显示

more

more [options] file […]:用于查看纯文本文件(内容较多的),more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容,可以使用空格或回车翻页

less

与more类似,还支持上下翻页

head

head [OPTION]… [FILE]…:用于查看纯文本文件的前n行
head -10 readme:查看readme文件的前10行

tail

tail [OPTION]… [FILE]…:用于查看纯文本文件的后N行或持续刷新文件的最新内容
tail -n :查看文件后n行
tail -f :事实动态显示文件追加内容,常用于查看日志文件

wc

wc:用于统计指定文本文件的行数、字数或字节数
wc -l:只显示行数
wc -w:只显示单词数
wc -c:只显示字节数

stat

stat:用于查看文件的具体存储细节和时间等信息,英文全称为“status”

[root@Beyo dbbackup]# stat database.sql 
  File: ‘database.sql’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 137289237   Links: 1
Access: (0640/-rw-r-----)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-02-21 17:18:38.124132965 +0800
Modify: 2022-02-21 17:26:34.539100651 +0800
Change: 2022-02-21 17:26:34.539100651 +0800
 Birth: -

Linux系统中的文件包含3种时间状态,分别是Access Time(内容最后一次被访问的时间,简称为Atime),Modify Time(内容最后一次被修改的时间,简称为Mtime)以及Change Time(文件属性最后一次被修改的时间,简称为Ctime)

file

file:查看文件类型

echo

echo:回显
echo -n :不换行回显
echo -e:让转义符“\”生效,\n换行,\t横向制表符,\v竖向制表符,\b退格
字符串可不加引号,也可使用单双引号,单引号-强引用,变量引用不会生效,双引号-弱引用,变量引用会生效
注意:变量引用的正规用法:${name}

[root@Beyo]# name=Beyo
[root@Beyo]# echo '$name'
$name
[root@Beyo]# echo "$name"
Beye

文件操作命令

cp

cp命令用于复制文件或目录

参数作用
-p保留原始文件的属性
-d若对象为“链接文件”,则保留该“链接文件”的属性
-r递归持续复制(用于目录)
-i若目标文件存在则询问是否覆盖
-a相当于-pdr(p、d、r为上述参数)

rm

rm命令用于删除文件或目录,在Linux系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可在rm命令后跟上-f参数来强制删除。另外,要想删除一个目录,需要在rm命令后面加一个-r参数才可以,否则删除不掉。

参数作用
-f强制执行
-i删除前询问
-r删除目录
-v显示过程

mv

mv命令用于剪切或重命名文件,英文全称为“move”,语法格式为“mv [参数] 源文件名称 目标文件名称”。
剪切操作不同于复制操作,因为它默认会把源文件删除,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实也就是对该文件进行了重命名操作

touch

touch命令用于创建空白文件或设置文件的时间

参数作用
-a仅修改“读取时间”(atime)
-m仅修改“修改时间”(mtime)
-d同时修改atime与mtime

mkdir

mkdir命令用于创建空白的目录,英文全称为“make directory”,语法格式为“mkdir [参数] 目录名称”。除了能创建单个空白目录外,mkdir命令还可以结合-p参数来递归创建出具有嵌套层叠关系的文件目录

关机重启

shutdown

shutdown [OPTIONS…] [TIME] [WALL…]
OPTIONS…
shutdown -r:重启
shutdown -h:关机
shutdown -c:取消重启或关机任务
TIME
now 现在
hh:mm 几点几分
+m m分钟后关机
WALL…:发送给所有终端的消息

poweroff

命令会涉及硬件资源的管理权限,因此最好还是以root管理员的身份来关闭电脑

reboot

重启,由于重启计算机这种操作会涉及硬件资源的管理权限,因此最好是以root管理员的身份来重启,普通用户在执行该命令时可能会被拒绝

halt

关机

日期时间相关命令

linux系统中,系统启动时从硬件读取时间信息,读取完成以后,就不再与硬件关联
系统时钟:date
硬件时钟:clock

date

date [OPTION]… [+FORMAT] :显示日期时间
date +%Y-%m-%d\ %H:%M:%S:日期时间
date +%F\ %T:日期时间
date +%s :时间戳,从1970年1月1日0时起到命令执行时经过的秒数
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]:设置日期时间
date 101008082013.08:设置时间为2013年10月10号08时08分08秒

[root@Beyo ~]# date
Sat Mar 26 12:28:18 CST 2022
[root@Beyo ~]# date +%Y-%m-%d\ %H:%M:%S
2022-03-26 12:28:33
[root@Beyo ~]# date +%F\ %T
2022-03-26 12:28:41
[root@Beyo ~]# date +%s
1648268926

clock(hwclock)

clock [function] [option…]:显示或设置硬件时钟
clock -s:以硬件时钟为准设置系统时间
clock -w:以系统时间为准设置硬件时钟

[root@Beyo ~]# date
Sat Mar 26 12:37:16 CST 2022
[root@Beyo ~]# clock
Sat 26 Mar 2022 12:37:22 PM CST  -0.505669 seconds
[root@Beyo ~]# clock -w
[root@Beyo ~]# clock
Sat 26 Mar 2022 12:37:52 PM CST  -0.724892 seconds

cal

cal [options] [[[day] month] year]:显示日历

[root@Beyo ~]# cal
     March 2022     
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

搜索命令

find

find:用于按照指定条件来查找文件所对应的位置

参数作用
-name匹配名称
-perm匹配权限(mode为完全匹配,-mode为包含即可)
-user匹配所有者
-group匹配所有组
-mtime -n +n匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser匹配无所有者的文件
-nogroup匹配无所有组的文件
-newer f1 !f2匹配比文件f1新但比f2旧的文件
-type b/d/c/p/l/f匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune忽略某个目录
-exec …… {};后面可跟用于进一步处理搜索结果的命令(下文会有演示)

grep

grep:用于按行提取文本内容

参数作用
-b将可执行文件(binary)当作文本文件(text)来搜索
-c仅显示找到的行数
-i忽略大小写
-n显示行号
-v反向选择——仅列出没有“关键词”的行。

alisa

alias:获取所有命令别名
定义别名:alias NAME=‘COMMAND’ 仅对当前shell进程有效
撤销别名:unalias NAME

which

which:用于按照指定名称快速搜索二进制程序(命令)所对应的位置
which –skip-alias:忽略别名

[root@Beyo ~]# which tree
/usr/bin/tree

whereis

whereis:用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置
whereis -b:仅搜索二进制程序路径
whereis -m:仅搜索使用手册路径

[root@Beyo ~]# whereis tree
tree: /usr/bin/tree /usr/share/man/man1/tree.1.gz
[root@Beyo ~]# whereis which
which: /usr/bin/which /usr/share/man/man1/which.1.gz

who

who:用于查看当前登入主机的用户终端信息
who -b:系统此次启动的时间
who -d:显示系统死亡的进程
who -r:运行级别

[root@Beyo ~]# who -b
         system boot  2022-03-26 13:15
[root@Beyo ~]# who -r
         run-level 3  2022-03-26 13:15

w

显示当前登录到系统的所有用户

history

history:命令用于显示执行过的命令历史,历史命令会被保存到用户家目录中的.bash_history文件中。
history -c:清空当前用户在本机上执行的Linux命令历史记录信息,仅删除内存中的命令,不删除.bash_history文件中的
history -d:从指定位置删除某条历史命令,参数cd可以连用,表示从指定位置删除历史列表
history -r:从.bash_history文件中读取并写入内存
history -w:把历史列表中的命令追加至.bash_history文件中
history 数字:显示最近n条历史

[root@Beyo ~]# echo $HISTFILE
/root/.bash_history
[root@Beyo ~]# echo $HISTSIZE
1000

调用历史命令列表中的命令:
!5:再次执行列表中的第五条命令
!!:再次执行上个命令
!STRING:再一次执行命令列表中最近一个以STRING开头的命令

系统工作命令

ps

ps命令用于查看系统中的进程状态,英文全称为“processes”

参数作用
-a显示所有进程(包括其他用户的进程)
-u用户以及其他详细信息
-x显示没有控制终端的进程

Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止

R(运行):进程正在运行或在运行队列中等待。

S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。

D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。

Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。

T(停止):进程收到停止信号后停止运行。

除了上面5种常见的进程状态,还有可能是高优先级(<)、低优先级(N)、被锁进内存(L)、包含子进程(s)以及多线程(l)这5种补充形式。

top

Tasks: 125 total,   1 running, 124 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.9 us,  0.7 sy,  0.0 ni, 97.0 id,  0.3 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem :  1862992 total,    68180 free,   831924 used,   962888 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   781836 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                
  2203 root      20   0 1095180 339380  40520 S   2.7 18.2   2:51.54 kube-apiserver                                                                                         
  2285 root      20   0  811776  80640  30892 S   1.3  4.3   1:38.12 kube-controller 

第1行:系统时间、运行时间、登录终端数、系统负载(3个数值分别为1m、5m、15m内的平均值,数值越小意味着负载越低)。

第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“99.9 id”意味着有99.9%的CPU处理器资源处于空闲。

第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。

第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。

nice

nice命令用于调整进程的优先级,在top命令输出的结果中,PR和NI值代表的是进程的优先级,数字越低(取值范围是-20~19),优先级越高。在日常的生产工作中,可以将一些不重要进程的优先级调低,让紧迫的服务更多地利用CPU和内存资源,以达到合理分配系统资源的目的。

[root@Beyo ~]# nice -n -20 bash

kill

kill:用于终止某个指定PID值的服务进程

killall

killall:用于终止某个指定名称的服务所对应的全部进程

[root@Beyo ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@Beyo ~]# killall httpd
[root@Beyo ~]# pidof httpd
[root@Beyo ~]# 

ping

ping命令用于测试主机之间的网络连通性

参数作用
-c总共发送次数
-l指定网卡名称
-i每次间隔时间(秒)
-W最长等待时间(秒)

netstat

netstat命令用于显示如网络连接、路由表、接口状态等的网络相关信息

参数作用
-a显示所有连接中的Socket
-p显示正在使用的Socket信息
-t显示TCP协议的连接状态
-u显示UDP协议的连接状态
-n使用IP地址,不使用域名
-l仅列出正在监听的服务状态
-i显示网卡列表信息
-r显示路由表信息

last

last命令用于调取主机的被访记录

free

free命令用于显示当前系统中内存的使用量信息

参数作用
-h以人类可读的单位显示
-g/-m/-k以gb、mb、kb显示

uptime

uptime命令用于查看系统的负载信息,可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况

uname

uname命令用于查看系统内核版本与系统架构等信息,在使用uname命令时,一般要固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、压制时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息

ifconfig

ifconfig命令用于获取网卡配置与网络状态等信息,使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量

ip addr

与ifconfig相似

命令类型

1、外部命令;2、shell内嵌命令

使用type查看命令类型,内部命令显示为builtin,外部命令显示为命令文件路径

[root@Beyo ~]# type alias
alias is a shell builtin
[root@Beyo ~]# type tree
tree is hashed (/usr/bin/tree)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值