Bootstrap

Linux常用基本命令

目录

(1)、帮助命令

        man 获取帮助信息

        type 查看命令是内置命令还是外部命令

        help 获取帮助信息

(2)、文件目录类

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

        ls 列出目录中的内容

        cd 进入相对应的目录中

        mkdir 创建文件夹子

        rmdir 删除文件夹

        touch 创建空文件

        cp 复制文件或者目录

        rm 删除文件或目录

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

        cat 查看文件

        more/less 文件分屏查看

        echo 在控制台输出

        Head/tail 显示文件头部/尾部内容

        ln 创建软链接/快捷方式

        history 查看历史使用过的历史命令

        date 显示当前时间

        cal 查看日历

(3)、用户管理命令

        useradd 添加新用户

        Passwd 设置用户密码

        userdel 删除用户

        id 查看用户信息

(4)、用户组管理命令

        groupadd 新增组

        usermod 修改用户的用户组

        groupdel 删除用户组

(5)、文件权限类

        chmod 改变权限

        chown 改变所有者

        chgrp 改变所属组

(6)、搜索查找类

        find 查找文件或者目录

        locate 快速定位文件路径

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

(7)、压缩解压类

        gzip/gunzip 压缩

        zip/unzip

        tar 打包工具

(8)、磁盘查看和分区类

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

        lsblk 查看设备挂载情况

        mount/umount 挂载/卸载

        Fdisk 分区

(9)、进程管理类

        Ps 查看进程状态

        kill 终止进程

        pstree 查看进程树

        top 实时监控系统进程状态

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

        crontab 系统定时任务


(1)、帮助命令

        man 获取帮助信息

基本语法:

man [内嵌命令]:查看命令的帮助信息

        type 查看命令是内置命令还是外部命令

基本语法:

type [命令]

        help 获取帮助信息

基本语法:

help [外部命令]

        --help 获取帮助信息

基本语法:

[命令] --help    -------------常用

5、reset/ctrl+l 清屏 (reset将会彻底清空,但是使用history仍能查看之前使用过的命令)

(2)、文件目录类

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

        ls 列出目录中的内容

基本语法:

ls [选项][目录或者文件]

ls -a:显示所有内容(包括隐藏文件)

ls -l/ll:列出文件的类型、权限以及创建的时间和文件名

        cd 进入相对应的目录中

cd ../cd -:返回上一级

        mkdir 创建文件夹子

mkdir a b:在所在目录下创建a和b

mkdir a a/b a/b/c:创建a,随后在a中创建b,随后再在b中创建c

        rmdir 删除文件夹

rmdir xxx

        touch 创建空文件

touch xxx.txt

        cp 复制文件或者目录

语法结构:

cp [选项] 源文件 目标文件

cp -r 递归复制整个文件夹

        rm 删除文件或目录

语法结构:

rm -r:递归删除目录中所有内容

rm -f:强制执行删除操作,而不提示是否确认

rm -v:显示指令的详细执行过程

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

语法结构:

mv old new:将old重命名为new

mv /a/b /c:移动文件

        cat 查看文件

cat -n:显示行号

        more/less 文件分屏查看

使用more --help查看具体使用方法

        echo 在控制台输出

语法结构:

echo [选项] [内容]

例如:echo hello,world ------->控制台输出hello world

选项:

-e:支持反斜线控制的字符转换

\\:输出\本身

\n:换行符

\t:相当于tab键

        Head/tail 显示文件头部/尾部内容

语法结构

Head/tail 文件 :查看文件头/尾十行

Head/tail -n 5 文件:查看文件头/尾5行内容

Tail -f:实时追踪文档的所有更新

        ln 创建软链接/快捷方式

语法结构:

ln -s [源文件][软链接名]

注意:

删除软链接时:

使用rm -rf 链接名,而不是使用rm -rf 链接名/,如果使用rm -rf 链接名/,会把软链接对应的真实目录下的内容删除

        history 查看历史使用过的历史命令

History -c:清空历史命令

        date 显示当前时间

        cal 查看日历

Cal [具体哪一年]

(3)、用户管理命令

可修改/etc/sudoers文件,修改用户使用sudo的权限

        useradd 添加新用户

Useradd -d [用户文件存放地址][用户名]

Useradd -g 用户组 用户名 ------例如useradd -g bigdata xiaoliang :将xiaoliang添加到bigdata用户组中

        Passwd 设置用户密码

Passwd [新用户名]:给新用户设置密码

        userdel 删除用户

Userdel -r [用户名]

        id 查看用户信息

Id 用户名

(4)、用户组管理命令

        groupadd 新增组

        usermod 修改用户的用户组

语法结构:
usermod -g 用户组 用户名

        groupdel 删除用户组

(5)、文件权限类

文件类型

属主权限(u)

属组权限(g)

其他用户权限(o)

0

1

2

3

4

5

6

7

8

9

d

r

w

x

r

-

x

r

-

x

目录文件

执行

执行

执行

1、0首位表示类型

-代表文件

d代表目录

l链接文件(快捷方式)

2、第1-3位确定属主(该文件的所有者)拥有该文件的权限-----user

3、第4-6位确定属组(所有者的同组用户)拥有该文件的权限---Group

4、第7-9位确定其他用户拥有该文件的权限---Other

        chmod 改变权限

第一种方式:

Chmod [{ugoa}]{+-=}{rwx} 目录或文件

第二种方式:

Chmod [mode=421] [文件或目录]

R=4

w=2

x=1

Chmod -R 777 a/ :将a目录中所有文件都修改为可读可写可执行的文件类型

        chown 改变所有者

语法结构:

Chown [选项][最终用户][文件或目录]

Chown -R:递归操作,不仅改变目录的所有者,也将改变目录下所有文件的所有者

        chgrp 改变所属组

语法结构:

Chgrp [最终用户组][文件或目录]

(6)、搜索查找类

        find 查找文件或者目录

语法结构:

Find [搜索范围][选项]

选项

功能

-name<查询方式>

按照指定的文件名查找模式查找文件

-user<用户名>

查找属于指定用户名所有文件

-size<文件大小>

按照指定的文件大小查找文件,单位为:

b —— 块 (512 字节)

c —— 字节

w —— 字 (2 字节)

k —— 千字节

M —— 兆字节

G —— 吉字节

例如:

Find /root -name info:查找root目录下名为info的文件

        locate 快速定位文件路径

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

语法结构

Grep [-n] 查找内容 源文件(-n用来显示行号)

(7)、压缩解压类

        gzip/gunzip 压缩

语法结构:

Gzip/gunzip 文件

        zip/unzip

语法结构:

Zip [选项] xxx.zip

unzip 选项

功能

-r

压缩目录

Unzip [选项] 文件

unzip 选项

功能

-d<目录>

指定解压后文件的存放目录

        tar 打包工具

语法结构:

Tar [选项] xxx.tar.gz 将要打包进去的内容

选项

功能

- c

产生.tar 打包文件

-v

显示详细信息

-f

指定压缩后的文件名

-z

打包同时压缩

-x

解包.tar 文件

-C

解压到指定目录

Tar -zxvf xxx.tar.gz -C 解压到的位置

(8)、磁盘查看和分区类

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

语法结构:

Du [选项] 文件/目录

选项

功能

-h

以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

- a

不仅查看子目录大小,还要包括文件

- c

显示所有的文件和子目录大小后,显示总和

-s

只显示总和

--max-depth=n

指定统计子目录的深度为第 n 层

Df -h/free -h:也可查看磁盘空间

        lsblk 查看设备挂载情况

Lsblk -f :查看详细的设备挂载情况,显示文件系统信息

        mount/umount 挂载/卸载

        Fdisk 分区

Fdisk -l:查看磁盘分区情况

Fdisk 硬盘设备名:对新增硬盘进行分区操作

(9)、进程管理类

service 服务名 start|stop|* restart|status (CentOS6版本  了解)

Systemctl start|stop|* restart|status 服务名

        Ps 查看进程状态

语法结构:

Ps aux |grep xxx :查看系统中所有进程

Ps -ef | grep xxx:可以查看子父进程之间的关系

选项

功能

a

列出带有终端的所有用户的进程

x

列出当前用户的所有进程,包括没有终端的进程

u

面向用户友好的显示风格

- e

列出所有进程

- u

列出某个用户关联的所有进程

-f

显示完整格式的进程列表

---------------  ps aux 显示信息说明

USER:该进程是由哪个用户产生的

PID:进程的 ID 号

%CPU:该进程占用CPU 资源的百分比, 占用越高,进程越耗费资源; %MEM:该进程占用物理内存的百分比, 占用越高,进程越耗费资源;

VSZ:该进程占用虚拟内存的大小,单位 KB;

RSS:该进程占用实际物理内存的大小,单位 KB;

TTY: 该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端, tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行状态、S :睡眠状态、T :暂停状态、 Z :僵尸状态、s :包含子进程、l :多线程、+:前台显示

START:该进程的启动时间

如果想查看进程的CPU占用率和内存占用率,可以使用aux

如果想查看进程的父进程ID可以使用ef

        kill 终止进程

Kill [选项] 进程号

Kill -9:强迫进程立即终止

Killall sshd:将所有的sshd进程全部终止

        pstree 查看进程树

语法结构:

Pstree [选项]

Pstree -u:显示进程的所属用户

Pstree -p:显示进程的PID

        top 实时监控系统进程状态

语法结构:

Top [选项]

选项

功能

-d 秒数

指定top 命令每隔几秒更新。默认是 3 秒在top 命令的交互模式当 中可以执行的命令:

-i

使 top 不显示任何闲置或者僵死进程。

-p

通过指定监控进程 ID 来仅仅监控某个进程的状态。

操作说明:

操作

功能

P

以 CPU 使用率排序,默认就是此项

M

以内存的使用率排序

N

以 PID 排序

q

退出 top

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

Netstat -anp | grep 进程号 查看该进程网络信息(netstat -anp | less 分页查看进程网络信息)

其中包含网络是否建立连接,连接的所使用到的端口号等

Netstat -nlp | grep 端口号 查看网络端口号的占用情况

选项

功能

-a

显示所有正在监听 (listen ) 和未监听的套接字 ( socket)

-n

拒绝显示别名,能显示数字的全部转化成数字

不显示主机名,显示ip

-l

仅列出在监听的服务状态

-p

表示显示哪个进程在调用

Ssh占用22号端口

        crontab 系统定时任务

重新启动crond服务:systemctl restart crond

语法结构:

Crontab [选项]

-e:编辑crontab定时任务

当使用crontab -e编辑定时任务时,会进入到vim的编辑界面

*****执行的任务

第一个*:一个小时当中的第几分钟(0-59)

第二个*:一天当中的第几小时(0-23)

第三个*:一个月当中的第几天(1-31)

第四个*:一年当中的第几月(1-12)

第五个*:一周当中的星期几(0-7)(其中0和7都表示星期天)

特殊符号

*:代表任何时间,比如第一个“*”就代表一小时中每一分钟都执行一次的意思

,:表示不连续的时间,比如“0 8,12,16 * * *命令”,就表示在每天的八点整,十二点整,十六点整都执行一次的命令

-:代表连续的时间范围,比如”0 5 * * 1-6”命令,代表在周一到周六的凌晨五点整执行命令

*/n:代表每隔多久执行一次。比喻“*/10 * * * *命令”,代表每隔十分钟就执行一遍命令

例子:

45 22 * * * 命令:每天的22点45分执行命令

0 17 * * 1 命令:每周一的17点整执行命令

0 5 1,15 * *命令:每月的1号和15号的凌晨五点整执行任务

40 4 * * 1-5 命令:每周周一到周五凌晨四点四十执行命令

*/10 4 * * * 命令:凌晨四点每隔十分钟执行一次命令

0 0 1,15 * 1命令:每月分1号和15号以及每周一凌晨0点0分执行命令。注意:星期几 和几号最好不要同时出现,因为他们定义的都是天,非常容易让管理 员混乱

在vim窗口中编写命令

*/1 * * * * echo  “hello,world ” >> /root/hello.txt

-l:查询crontab任务

-r:删除当前用户所有的crontab任务

;