Linux基础命令

启动命令

  • contos7的语法

    systemctl start 服务名 开启服务

    systemctl stop 服务名 关闭服务

    systemctl restart 服务名 重启服务

    systemctl status 服务名 查看服务

    systemctl —type service 查看正在运行的服务

  • 实操

    进行查看网络服务状态、关闭服务、启动服务、重新服务使用上面的语法后面加上network

文件目录类命令

基础语法

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

  • ls 列出目录内容

    ls后面加上选项:-a 显示全部文件包括隐藏档,-l显示文件的属性和权限。

  • cd切换路径

    | 参数 | 功能 |
    | —————- | —————————————————— |
    | cd 绝对路径 | 切换路径 |
    | cd 相对路径 | 切换路径 |
    | cd ~或者cd | 回到自己的家目录 |
    | cd - | 回到上一次所在目录 |
    | cd .. | 回到当前目录的上一级目录 |
    | cd -P | 跳转到实际物理路径,而非快捷方式路径 |
    | cd / | 回到系统根目录 |

  • mkdir 建立目录

    mkdir -p 创建多层目录

  • rmdir 删除目录

  • touch 创建空文件

  • cp 复制文件或目录

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

  • rm移除文件或者目录

    经常使用rf选项删除文件

    | 选项 | 功能 |
    | —— | —————————————- |
    | -r | 递归删除目录所有内容 |
    | -f | 强制删除,不提示用户进行确认 |
    | -v | 显示指令的详细执行过程 |

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

  • cat查看文件内容(后面加上-n显示行号)

VI和VIM编辑器

  1. VIM的一般模式

    1. 默认模式,在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。

    ​ 1.删除复制操作

    ​ 2.光标一段操作

  2. VIM的编辑模式

    在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

  1. VIM的命令模式

    可以进行存盘、退出、显示行号、搜索、批量替换等操作。要在一般模式下输入” / “或 “ : “ 或者”?”可进入命令模式,当命令执行前按esc或者命令执行完毕,自动回到一般模式

时间日期类命令

date显示当前时间

  • 基本语法

    1
    2
    3
    4
    5
    (1)date                            (功能描述:显示当前时间)
    ​(2)date +%Y (功能描述:显示当前年份)
    ​(3)date +%m (功能描述:显示当前月份)
    ​(4)date +%d (功能描述:显示当前是哪一天)
    ​(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)

date显示非当前时间

  • 基本语法
1
2
(1)date -d '1 days ago'          (功能描述:显示前一天时间)
(2)date -d '-1 days ago' (功能描述:显示明天时间)

date设置系统时间

  • 基本语法
1
date -s 字符串时间
  • 实操案例

(1)设置系统当前时间‘

1
[root@centos100 ~]# date -s "2017-06-19 20:52:18"

用户管理命令

ueradd添加新用户

  • 基本语法
1
2
useradd 用户名   (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)

passwd设置用户密码

1
[root@centos100 ~]# passwd tangseng

id查看用户是否存在

1
id 用户名

cat /etc/passwd 查看创建的所有用户

userdel删除用户

  • 基本语法
1
2
(1)userdel 用户名          (功能描述:删除用户但保存用户主目录)
​(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)

sudo 设置普通用户具有root权限

who 查看登录用户信息

1
2
(1)whoami           (功能描述:显示自身用户名称)
​(2)who am i (功能描述:显示登录用户的用户名)

组管理类命令

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

groupadd新增组

1
groupadd 组名

groupdel删除组

1
groupdel 组名

查看创建了那些组

1
[root@centos100 atguigu]# cat  /etc/group

usermod修改用户

1
usermod -g 用户组 用户名    -g修改用户的初始登录组,给定的组必须存在

文件权限类命令

  • 文件的类型
符号 对应文件类型
- 代表文件
d d 代表目录
l 链接文档(link file);
  • rwx作用到目录和文件的不同含义

    • 作用到文件

      1
      2
      3
      [ r ]代表可读(read): 可以读取,查看
      ​[ w ]代表可写(write): 可以修改,但是不能删除该文件,对该文件所在的目录有写权限,才能删除.
      ​[ x ]代表可执行(execute):可以被系统执行
    • 作用到目录

      1
      2
      3
      [ r ]代表可读(read): 可以读取,ls查看目录内容
      ​[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
      [ x ]代表可执行(execute):可以进入该目录

chmod改变文件权限

使用数字更好,比较容易理解

1
chmod [mode=421 ] [文件或目录]
1
2
3
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
​r=4 w=2 x=1
rwx=4+2+1=7

chown 改变所有者

1
chown [选项] [最终用户] [文件或目录]     (功能描述:改变文件或者目录的所有者)

搜索查找类命令

find 查找文件或者目录

1
2
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
find [搜索范围] [选项]
选项 功能
-name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件。

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

1
2
3
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 源文件
-n 显示匹配及行号

压缩和解压缩命令

gzip/gunzip 压缩

1
2
3
4
5
6
gzip 文件       (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
经验技巧
(1)只能压缩文件,不能压缩目录
(2)不保留原来的文件

zip/unzip压缩

1
2
zip [选项] XXX.zip 将要压缩的内容     (功能描述:压缩文件和目录的命令)
​unzip [选项] XXX.zip (功能描述:解压缩文件)
zip选项 功能
-r 压缩目录
unzip选项 功能
———- ——————
-d<目录> 指定解压后文件的存放目录

tar打包

1
tar [选项] XXX.tar.gz 将要打包进去的内容  (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项 功能
-z 打包同时压缩
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-x 解包.tar文件

实操案例

(1)压缩多个文件

1
2
3
4
5
[root@centos100 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt 
houge.txt
bailongma.txt
[root@centos100 opt]# ls
houma.tar.gz houge.txt bailongma.txt

(2)压缩目录

1
2
3
4
5
[root@centos100 ~]# tar -zcvf xiyou.tar.gz xiyou/
xiyou/
xiyou/mingjie/
xiyou/qujing/
xiyou/qujing/houge.txt

(3)解压到当前目录

1
[root@centos100 ~]# tar -zxvf houma.tar.gz

(4)解压到指定目录

1
2
[root@centos100 ~]# tar -zxvf xiyou.tar.gz -C /opt
[root@centos100 ~]# ll /opt/

进程线程类命令

ps (process status 进程状态)查看当前系统进程状态

1
2
ps -aux | grep xxx     (功能描述:查看系统中所有进程)
​ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
-a 选择所有进程
-u 显示所有用户的所有进程
-x 显示没有终端的进程

(1)ps -aux显示信息说明

1
2
3
4
5
6
7
8
9
10
11
USER:该进程是由哪个用户产生的
PID:进程的ID号
​%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
​%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
​VSZ:该进程占用虚拟内存的大小,单位KB;
​RSS:该进程占用实际物理内存的大小,单位KB;
​TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端, tty7是图形终端。pts/0-255代表虚拟终端。
​STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
​START:该进程的启动时间
​TIME:该进程占用CPU的运算时间,注意不是系统时间
​COMMAND:产生此进程的命令名

(2)ps -ef显示信息说明

1
2
3
4
5
6
7
8
UID:用户ID 
​PID:进程ID
​PPID:父进程ID
​C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
​STIME:进程启动的时间
​TTY:完整的终端名称
​TIME:CPU时间
​CMD:启动进程所用的命令和参数

经验技巧

1
2
如果想查看进程的**CPU**占用率和内存占用率,可以使用aux;
​如果想查看**进程的父进程ID**可以使用ef;

kill终止进程

1
2
 kill [选项] 进程号 (功能描述:通过进程号杀死进程)
​ killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符)
选项 功能
-9 表示强迫进程立即停止

系统定时任务命令

crond服务管理

重新启动crond服务

1
[root@centos100 ~]# systemctl restart crond

crontab 定时任务设置

1
crontab [选项]
选项 功能
-e 编辑crontab定时任务
-l 查询crontab任务
-f 删除当前用户所有的crontab任务
  • 参数说明

    • (1)进入crontab编辑界面。会打开vim编辑你的工作,通过 “* “ 定义任务周期。

      1
      [root@centos100 ~]# crontab -e 

      | 项目 | 选项 | 范围 |
      | —————- | —————————— | ———————————- |
      | 第一个“ *” | 一小时当中的第几分钟 | 0-59 |
      | 第二个“ *” | 一天当中的第几小时 | 0-23 |
      | 第三个“ *” | 一个月当中的第几天 | 1-31 |
      | 第四个“ *” | 一年当中的第几月 | 1-12 |
      | 第五个“ *” | 一周当中的星期几 | 0-7(0和7都代表星期日) |

    • (2)每个星号上可以使用的特殊符号

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

    • (3)特定时间执行命令

      | 时间 | 含义 |
      | —————————————— | ————————————————————— |
      | 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分都会执行命令。 |

      1
      注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。
  • 实参案例

    • (1)每隔1分钟,向/root/bailongma.txt文件中添加一一些内容
1
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt