linux常用基本命令

1.帮助命令

1.1 man获得帮助信息

可通过man获取某个指令的说明,比如输入man ls后就会出现

LS(1)                                                                 User Commands                                                                 LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..

       --author
              with -l, print the author of each file

       -b, --escape
              print C-style escapes for nongraphic characters

       --block-size=SIZE
              scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE format below

       -B, --ignore-backups
              do not list implied entries ending with ~

       -c     with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise:
              sort by ctime, newest first

       -C     list entries by columns

       --color[=WHEN]
              colorize the output; WHEN can be 'never', 'auto', or 'always' (the default); more info below

       -d, --directory
              list directories themselves, not their contents

       -D, --dired
 

虽然全都是英文的,但总比没有好。

1.2 help获得内置命令的帮助信息

使用方法和man类似,比如help cd

cd: cd [-L|[-P [-e]]] [dir]
    Change the shell working directory.

    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.

    The variable CDPATH defines the search path for the directory containing
    DIR.  Alternative directory names in CDPATH are separated by a colon (:).
    A null directory name is the same as the current directory.  If DIR begins
    with a slash (/), then CDPATH is not used.

    If the directory is not found, and the shell option `cdable_vars` is set,
    the word is assumed to be  a variable name.  If that variable has a value,
    its value is used for DIR.

    Options:
        -L      force symbolic links to be followed
        -P      use the physical directory structure without following symbolic
        links
        -e      if the -P option is supplied, and the current working directory
        cannot be determined successfully, exit with a non-zero status

    The default is to follow symbolic links, as if `-L' were specified.

    Exit Status:
    Returns 0 if the directory is changed, and if $PWD is set successfully when
    -P is used; non-zero otherwise.

可以通过type命令来判断一个shell命令是否是内置命令,比如type cd,就会得到

cd is a shell builtin

type ls,就会得到

ls is aliased to `ls --color=auto'

就可以看出来cd是内置命令,应该用help来获取帮助信息,ls不是内置命令,应该用man来获取帮助信息。

1.3 常用快捷键

常用快捷键作用
ctrl + c停止进程
ctrl + l清屏,和clear相同,彻底清屏是reset
tab自动补全
小键盘的上下键查找执行过的命令

2.文件目录类

2.1 pwd显示当前工作目录的绝对路径

pwd展示当前目录的绝对路径,从根目录/开始展示

pwd - print name of current/working directory

2.2 cd 切换目录

cd用来进行目录切换

cd - Change the shell working directory
参数作用
cd 绝对路径切换路径
cd 相对路径切换路径
cd ~或者 cd回到当前用户家目录,root用户会返回根目录下的root文件夹,其他用户会返回根目录下home文件夹下以用户名创建的文件夹
cd -回到上一次所在目录
cd …回到当前目录的上一级目录
cd -P跳转到实际物理路径,而非快捷方式路径

绝对路径指的是从根目录开始,到当前位置的路径
相对路径指的是从当前目录开始,到当前位置的路径

2.3 ls列出目录的内容

ls列出目录的内容

ls - list directory contents
参数作用
ls -a全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
ls -l长数据串列出,包含文件的属性与权限等等数据;(常用)等价于“ll”

执行ls -l后,会依次展示:
文件类型与权限、链接数、文件属主、文件属组文件大小(用byte来表示)、建立或最近修改的时间、名字

drwxr-xr-x. 120 root root 12288 Aug  7 18:01 etc
-rw-r--r--    1 root root  8352 Jan 14  2022 gnome_install.sh
lrwxrwxrwx.   1 root root     7 Sep 14  2020 bin -> usr/bin

其中,第一位是-,则表示普通文件,d表示是目录,也就是文件夹,l则表示是链接

2.4 mkdir 创建一个新的目录

mkdir:Make directory 建立目录
参数作用
mkdir a b同时创建a、b两个目录
mkdir -p a/b/c创建多层目录

2.5 rmdir 删除一个空的目录

rmdir:Remove directory 移除目录

只能删除空文件夹

参数作用
rmdir a删除a目录
rmdir -p a/b/c删除多层目录

2.6 touch 创建空文件

touch - change file timestamps

touch 文件名称就可以在当前目录下创建一个新文件

2.7 cp 复制文件或目录

cp - copy files and directories

cp 源文件 结果文件就可以将源文件复制成结果文件,也可以在文件名称前加上路径

参数作用
cp -r递归复制整个文件夹
\cp强制覆盖目标文件

2.8 rm 删除文件或目录

rm - remove files or directories

rm后跟想要删除的文件名即可

参数作用
rm -r递归删除目录中所有内容
rm -f强制执行删除操作,而不提示用于进行确认
rm -v显示指令的详细执行过程
rm ./*删除当前目录下的所有内容
rm -rf /*删库跑路,此命令很危险,绝对不可以使用,要想用,就自己建一个虚拟机去玩吧

2.9 mv 移动文件与目录或重命名

mv - move (rename) files

mv 当前文件名称 新文件名称可以实现重命名的功能
mv 当前路径/文件名称 目标路径可以实现移动文件的功能

2.10 cat 查看文件内容

cat - concatenate files and print on the standard output
参数作用
-n显示所有行的行号,包括空行

2.11 more 文件内容分屏查看器

more - file perusal filter for crt viewing
参数作用
空白键 (space)代表向下翻一页
Enter代表向下翻『一行』
q代表立刻离开 more ,不再显示该文件内容
Ctrl+F向下滚动一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号

2.12 less 分屏显示文件内容

less - opposite of more
参数作用
空白键 (space)向下翻动一页
[pagedown]向下翻动一页
[pageup]向上翻动一页
/字符串向下搜寻『字符串』的功能;n:向下查找;N:向上查找
?字符串向上搜寻『字符串』的功能;n:向上查找;N:向下查找
q离开 less 这个程序

2.13 echo

echo - display a line of text

echo可以直接输出文本到控制台,比如echo "abc"会得到

abc
参数作用
\输出\本身
\n换行符
\t制表符,也就是 Tab 键

-e支持反斜线控制的字符转换,比如直接执行echo "a\nbc"会得到

a\nbc

执行echo -e "a\nbc"则会得到

a
bc

echo $可以查看环境变量,此处输入完成后,需要连按两下Tab键才会出现环境变量

2.14 > 输出重定向和 >> 追加

参数作用
ls -l > 文件列表的内容写入文件中(覆盖写))
ls -al >> 文件列表的内容追加到文件的末尾
cat 文件 1 > 文件 2将文件 1 的内容覆盖到文件2
echo “内容” >> 文件将指定内容追加到目标文件末尾

2.15 head 显示文件头部内容

head - output the first part of files
参数作用
-n<行数>指定显示头部内容的行数

2.16 tail 输出文件尾部内容

tail - output the last part of files
参数作用
-n<行数>输出文件尾部 n 行内容
-f显示文件最新追加的内容,监视文件变化

2.17 ln 软链接

ln - make links between files

ln -s [原文件或目录] [软链接名] 此命令可以给原文件创建一个软链接
ln [原文件或目录] [软链接名]用来创建硬链接,一般用软链接即可,硬链接是指向文件的节点ID

删除软链接时,是rm -rf 软链接名,而不是 rm -rf 软链接名/,因为后者会把软链接对应的真实目录下内容删掉
可以通过ll命令查看文件格式,如果第一位是l则属于软链接

2.18 history 查看已经执行过历史命令

直接输入history可以获取历史使用的指令,可以配合headtail分别查看最初或最近使用的命令

history | head -n 10 #查看最初执行的10条命令
参数作用
history -c清空所有历史执行命令

3. 时间日期类

3.1 date 显示当前时间

date - print or set the system date and time

直接输入date后,可以得到当前时间Thu Aug 11 19:50:12 CST 2022

参数作用
date +%Y显示当前年份
date +%m显示当前月份
date +%d显示当前是哪一天
date “+%Y-%m-%d %H:%M:%S”显示年月日时分秒

3.2 date 显示非当前时间

参数作用
date -d ‘1 days ago’显示前一天时间
date -d '-1 days ago显示明天时间

3.3 cal 查看日历

cal - display a calendar
参数作用
cal 2022展示2022年日历
cal -3展示最近三个月的日历

4. 文件权限类

4.1 文件属性

直接输入ll,可以在第一列看到每个文件的权限属性

drwxr-xr-x. 120 root root 12288 Aug  7 18:01 etc
-rw-r--r--    1 root root  8352 Jan 14  2022 gnome_install.sh
lrwxrwxrwx.   1 root root     7 Sep 14  2020 bin -> usr/bin

第0位是文件类型,d为文件夹,l为软链接
第1、2、3位,4、5、6位,7、8、9位均是权限类型,一共三种情况r/w/x,分别表示可读可写可执行,如果没有对应的权限,就显示为-
在这里插入图片描述

4.2 chmod 改变权限

chmod - change file mode bits

第一种方式变更权限chmod [{ugoa}{+-=}{rwx}] 文件或目录,比如

chmod u+x 文件或目录 #给属主增加执行权限

其中每个字母表示的含义:
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

第二种方式变更权限chmod [mode=421 ] [文件或目录]
通过对三种权限赋值的方法,用数字表示权限
r=4 w=2 x=1
三个权限都有,那数字就是 rwx=4+2+1=7,比如

chmod 777 文件 #把指定文件给所有人赋可读可写可执行权限
chmod -R 777 文件夹/ #把指定路径下所有文件给所有人赋可读可写可执行权限

4.3 chown 改变所有者

chown - change file owner and group

chown [选项] [最终用户] [文件或目录通过此命令改变文件的所有者

4.4 chgrp 改变所属组

chgrp - change group ownership

chgrp [最终用户组] [文件或目录]通过此命令改变文件的所属组

5. 搜索查找类

5.1 find 查找文件或者目录

find - search for files in a directory hierarchy

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端find [搜索范围] [选项]

参数作用
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件

5.2 locate 快速定位文件路径

由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

locate - find files by name

直接locate 目标文件就可以查找目标文件

5.3 grep 过滤查找及“|”管道符

grep, egrep, fgrep - print lines matching a pattern

通过grep 选项 查找内容 源文件就可以在文件内查找指定内容

参数作用
-n显示匹配行及行号

管道符|表示将前一个命令的处理结果输出传递给后面的命令处理

6. 压缩和解压类

6.1 gzip/gunzip 压缩

gzip, gunzip, zcat - compress or expand files

通过gzip 文件gunzip 文件.gz就可以对文件进行压缩和解压缩操作,但有3个问题,
只能压缩文件不能压缩目录;不保留原来的文件;同时多个文件会产生多个压缩包

6.2 zip/unzip 压缩

zip - package and compress (archive) files

通过zip [选项] XXX.zip 将要压缩的内容unzip [选项] XXX.zip就可以对文件和文件夹进行压缩和解压缩操作

zip参数作用
-r压缩目录
unzip参数作用
-d<目录>指定解压后文件的存放目录

6.3 tar 打包

tar - manual page for tar 1.26

通过tar [选项] XXX.tar.gz 将要打包进去的内容就可以打包目录,压缩后的文件格式为.tar.gz

参数作用
-c产生.tar 打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解包.tar 文件
-C解压到指定目录

7. 磁盘查看和分区类

7.1 du 查看文件和目录占用的磁盘空间

du - estimate file space usage
du: disk usage 磁盘占用情况

通过du 目录/文件就可以显示目录下每个子目录的磁盘使用情况

参数作用
-h以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
-a不仅查看子目录大小,还要包括文件
-c显示所有的文件和子目录大小后,显示总和
-s只显示总和
–max-depth=n指定统计子目录的深度为第 n 层

7.2 df 查看磁盘空间使用情况

df - report file system disk space usage
df: disk free 空余磁盘

通过df 选项就可以列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况

参数作用
-h以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示

7.3 lsblk 查看设备挂载情况

lsblk - list block devices

通过lsblk就可以查看设备挂载情况

参数作用
-f查看详细的设备挂载情况,显示文件系统信息

7.4 mount/umount 挂载/卸载

mount - mount a filesystem
umount - unmount file systems

通过mount [-t vfstype] [-o options] device dirmount [-t vfstype] [-o options] device dir就可以挂载设备和卸载设备

参数作用
-t vfstype指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型
-o options主要用来描述设备或档案的挂接方式
device要挂接(mount)的设备
dir设备在系统上的挂接点(mount point)

7.5 fdisk 分区

fdisk - manipulate disk partition table

通过fdisk -lfdisk 硬盘设备名就可以查看磁盘分区详情和对新增硬盘进行分区操作

参数作用
-l显示所有硬盘的分区列表

8. 进程管理类

8.1 ps 查看当前系统进程状态

ps - report a snapshot of the current processes

通过ps aux | grep xxxps -ef | grep xxx就可以查看系统中所有进程和查看子父进程之间的关系

参数作用
a列出带有终端的所有用户的进程
x列出当前用户的所有进程,包括没有终端的进程
u面向用户友好的显示风格
-e列出所有进程
-u列出某个用户关联的所有进程
-f显示完整格式的进程列表

ps aux显示信息说明

字段含义
USER该进程是由哪个用户产生的
PID进程的 ID 号
%CPU该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源
%MEM该进程占用物理内存的百分比,占用越高,进程越耗费资源
VSZ该进程占用虚拟内存的大小,单位 KB
RSS该进程占用实际物理内存的大小,单位 KB
TTY该进程是在哪个终端中运行的
STAT进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示
START该进程的启动时间
TIME该进程占用 CPU 的运算时间,注意不是系统时间
COMMAND产生此进程的命令名

ps -ef显示信息说明

字段含义
UID用户 ID
PID进程 ID
PPID父进程 ID
CCPU 用于计算执行优先级的因子。数值越大,表明进程是CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME进程启动的时间
TTY完整的终端名称
TIMECPU 时间
CMD启动进程所用的命令和参数

8.2 kill 终止进程

kill - terminate a process

通过kill [选项] 进程号killall 进程名称就可以通过进程号杀死进程和通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

字段含义
-9表示强迫进程立即停止

8.3 pstree 查看进程树

pstree - display a tree of processes
参数含义
-p显示进程的 PID
-u显示进程的所属用户

8.4 top 实时监控系统进程状态

top - display Linux processes
参数含义
-d 秒数指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当中可以执行的命令
-i使 top 不显示任何闲置或者僵死进程
-p通过指定监控进程 ID 来仅仅监控某个进程的状态

进入top后,可以通过指令改变排序方式

操作含义
P以 CPU 使用率排序,默认就是此项
M以内存的使用率排序
N以 PID 排序
q退出 top

可以在top界面直接输入u,再输入用户名,就可以获取指定用户下的进程
也可以直接输入k,再输入指定进程,就可以杀掉指定进程

查询结果字段解释
第一行信息为任务队列信息

内容含义
21:32:02系统当前时间
up 197 days, 46 min系统的运行时间
1 user当前登录了1个用户
load average: 0.01, 0.65, 0.91系统在之前 1 分钟,5 分钟,15 分钟的平均负载。一般认为小于 1 时,负载较小。如果大于1,系统已经超出负荷

第二行为进程信息

内容含义
Tasks: 124 total系统中的进程总数
1 running正在运行的进程数
123 sleeping睡眠的进程
0 stopped正在停止的进程
0 zombie僵尸进程。如果不是 0,需要手工检查僵尸进程

第三行为 CPU 信息

内容含义
Cpu(s): 0.1%us用户模式占用的 CPU 百分比
0.1%sy系统模式占用的 CPU 百分比
0.0%ni改变过优先级的用户进程占用的CPU 百分比
99.7%id空闲 CPU 的 CPU 百分比
0.1%wa等待输入/输出的进程的占用CPU 百分比
0.0%hi硬中断请求服务占用的 CPU 百分比
0.1%si软中断请求服务占用的 CPU 百分比
0.0%stst(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比

第四行为物理内存信息

内容含义
Mem: 625344k total物理内存的总量,单位 KB
571504k used已经使用的物理内存数量
53840k free空闲的物理内存数量
65800k buffers作为缓冲的内存数量

第五行为交换分区(swap)信息

内容含义
Swap: 524280k total交换分区(虚拟内存)的总大小
0k used已经使用的交互分区的大小
524280k free空闲交换分区的大小
409280k cached作为缓存的交互分区的大小

8.5 netstat 显示网络状态和端口占用信息

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

通过netstat -anp | grep 进程号netstat –nlp | grep 端口号就可以查看该进程网络信息和查看网络端口号占用情况

参数含义
-a显示所有正在监听(listen)和未监听的套接字(socket)
-n拒绝显示别名,能显示数字的全部转化成数字
-l仅列出在监听的服务状态
-p表示显示哪个进程在调用

常用的端口号

进程名端口
ssh22
mysql3306

9. crontab 系统定时任务

9.1 crontab 服务管理

crontab - maintains crontab files for individual users
参数含义
-e编辑 crontab 定时任务
-l查询 crontab 任务
-r删除当前用户所有的 crontab 任务

crontab编辑界面字段解释

参数含义
第一个“*”一小时当中的第几分钟
第二个“*”一天当中的第几小时
第三个“*”一个月当中的第几天
第四个“*”一年当中的第几月
第五个“*”一周当中的星期几

特殊符号

参数含义
*代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思
代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的 8 点 0 分,12 点 0 分,16 点0 分都执行一次命令
-代表连续的时间范围。比如“0 5 * * 1-6 命令”,代表在周一到周六的凌晨 5 点 0 分执行命令
*/n代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔 10 分钟就执行一遍命令

特定时间执行命令

参数含义
45 22 * * * 命令每天 22 点 45 分执行命令
0 17 * * 1 命令每周 1 的 17 点 0 分执行命令
0 5 1,15 * * 命令每月 1 号和 15 号的凌晨 5 点 0 分执行命令
40 4 * * 1-5 命令每周一到周五的凌晨 4 点 40 分执行命令
*/10 4 * * * 命令每天的凌晨 4 点,每隔 10 分钟执行一次命令
0 0 1,15 * 1 命令每月 1 号和 15 号,每周 1 的 0 点 0 分都会执行命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孟意昶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值