Linux常用指令

Linux常用指令

一.vim常用快捷键

ESC:切换到一般模式
:或/:在一般模式下进入命令模式
i:在一般模式下进入编辑模式

设置/取消行号:命名行下:set nu和:set nonu

保存并退出:wq;强制退出:q!

查找单词:/关键字,然后输入n就是查找下一个

撤销动作:一般模式下按u

移动光标到特定行:一般模式下,输入行号,再输入shift+g

移动到文档末行:G;移动到首行:gg

二.用户管理

1.用户

添加用户:useradd 用户名

指定/修改密码:passwd 用户名

删除用户:1.保留家目录:userdel xxx;2.删除家目录:userdel -r xxx

查看用户基本信息:id xxx

切换用户:su - 用户名
当要返回到原来用户时,使用exit/logout指令

查看当前用户/登录用户:whoami/who am i

2.用户组

新增组:groupadd 组名

删除组:groupdel 组名

增加用户时直接加上组:useradd -g 用户组 用户名
不指定的话默认是以用户名作为组名

修改用户到其他组:usermod -g 用户组 用户名

其中/etc/password 文件记录用户的各种信息
/etc/shadow文件记录口令的配置文件
/etc/group文件记录组的信息

如果强制删除组,组内成员会新建一个以自己名字为组名的组,然后再删除该成员,对应的组也会被删除。

三.文件目录类

1.pwd指令

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

2.ls指令

基本语法:ls [选项] [目录或是文件]
常用选项
-a:显示当前目录所有的文件和目录,包括隐藏的。
-l:以列表的方式显示信息
-h:内存单位显示更合理

3.cd指令

基本语法:cd [参数] (功能描述:切换到指定目录)

cd ~ 或者 cd :回到自己的家目录, 比如 你是 root , cd ~ 到 /root
cd … 回到当前目录的上一级目录

4.mkdir指令

mkdir 指令用于创建目录
基本语法:mkdir [选项] 要创建的目录
常用选项
-p :创建多级目录

5.rmdir指令

rmdir 指令用于删除空目录

rmdir 删除的是空目录,如果目录下有内容时无法删除的。
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录

6.touch指令

touch 指令创建空文件
基础语法:touch 文件名称

7.cp指令

cp 指令拷贝文件到指定目录
基本语法
cp [选项] source dest
常用选项
-r :递归复制整个文件夹

强制覆盖不提示的方法:\cp , \cp -r /home/bbb /opt

8.rm指令

rm 指令移除文件或目录
基础语法:rm [选项] 要删除的文件或目录
常用选项
-r :递归删除整个文件夹
-f : 强制删除不提示

9.mv指令

mv 移动文件与目录或重命名
基本语法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)

10.cat指令

cat 查看文件内容
基础语法:cat [选项] 要查看的文件
常用选项
-n :显示行号

11.more指令

more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键(交互的指令)

12.less指令

less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

13.echo指令

echo 输出内容到控制台
基本语法
echo [选项] [输出内容]

14.head指令

head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容
基本语法
head 文件 (功能描述:查看文件头 10 行内容)
head -n 5 文件 (功能描述:查看文件头 5 行内容,5 可以是任意行数)

15.tail指令

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的前 10 行内容。
基本语法

  1. tail 文件 (功能描述:查看文件尾 10 行内容)
  2. tail -n 5 文件 (功能描述:查看文件尾 5 行内容,5 可以是任意行数)
  3. tail -f 文件 (功能描述:实时追踪该文档的所有更新)

16.> 指令 和 >> 指令

> 输出重定向和 >> 追加
基本语法

  1. ls -l >文件 (功能描述:列表的内容写入文件 a.txt 中(覆盖写))
  2. ls -al >>文件 (功能描述:列表的内容追加到文件 aa.txt 的末尾)
  3. cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)
  4. echo “内容”>> 文件 (追加)

17.ln指令

软链接也称为符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径
基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

18.history指令

查看已经执行过历史命令,也可以执行历史指令
基本语法
history (功能描述:查看已经执行过历史命令)

四.时间日期类

1.data指令

基本语法

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

2.date 指令-设置日期

基本语法
date -s 字符串时间

3.cal指令

查看日历指令 cal
基本语法
cal [选项] (功能描述:不加选项,显示本月日历)

五.搜索查找类

1.find指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法
find [搜索范围] [选项]
-name<查询方式>:按照指定的文件名查找模式查找文件
-user<用户名>:查找属于指定用户名所有文件
-size<文件大小>:按照指定的文件大小查找文件,其中+表示大于,-小于,不写为等于

2.locate指令

locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

基础语法:
locate 搜索文件

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

3.grep指令和管道符号|

grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

基本语法
grep [选项] 查找内容 源文件

常用选项
-n 显示匹配行及行号
-i 忽略字母大小写

案例 1: 请在 hello.txt 文件中,查找 “yes” 所在行,并且显示行号
写法 1: cat /home/hello.txt | grep “yes”
写法 2: grep -n “yes” /home/hello.txt

4.which指令

查看某个指令在哪个目录下

六.压缩和解压缩类

1.gzip和gunzip指令

gzip 用于压缩文件, gunzip 用于解压的
基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)

案例:
案例 1: gzip 压缩, 将 /home 下的 hello.txt 文件进行压缩
gzip /home/hello.txt

案例 2: gunzip 压缩, 将 /home 下的 hello.txt.gz 文件进行解压缩
gunzip /home/hello.txt.gz

2.zip/unzip指令

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的

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

应用实例
案例 1: 将 /home 下的 所有文件/文件夹进行压缩成 myhome.zip
zip -r myhome.zip /home/ [将 home 目录及其包含的文件和子文件夹都压缩]
案例 2: 将 myhome.zip 解压到 /opt/tmp 目录下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip

3.tar指令

tar 指令 是打包和解压指令,最后打包后的文件是 .tar.gz 的文件。

基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
多个文件中间空格隔开

选项说明:
-c:产生.tar打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解包.tar文件

应用实例
案例 1: 压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
案例 2: 将/home 的文件夹 压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
案例 3: 将 pc.tar.gz 解压到当前目录
tar -zxvf pc.tar.gz
案例4: 将myhome.tar.gz 解压到 /opt/tmp2目录下 (1) mkdir /opt/tmp2 (2) tar -zxvf /home/myhome.tar.gz -C /opt/tmp2

七.组权限管理

1.修改文件和组

修改文件所有者:chown 用户名 文件名

修改文件/目录所在组:chgrp 组名 文件名

2.权限简介

权限介绍:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9 位说明
第 0 位确定文件类型(d, - , l , c , b)
l 是链接,相当于 windows 的快捷方式
d 是目录,相当于 windows 的文件夹
c 是字符设备文件,鼠标,键盘
b 是块设备,比如硬盘
第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User
第 4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group
第 7-9 位确定其他用户拥有该文件的权限 —Other

rwx 作用到文件

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

rwx 作用到目录

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

3.修改权限

第一种方式:+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

  1. chmod u=rwx,g=rx,o=x 文件/目录名
  2. chmod o+w 文件/目录名
  3. chmod a-x 文件/目录名

案例演示

  1. 给 abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
    chmod u=rwx,g=rx,o=rx abc
  2. 给 abc 文件的所有者除去执行的权限,增加组写的权限
    chmod u-x,g+w abc
  3. 给 abc 文件的所有用户添加读的权限
    chmod a+r abc

第二种方式:通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件/目录名

4.修改文件所有者-chown

chown newowner 文件/目录 改变所有者
chown newowner:newgroup 文件/目录 改变所有者和所在组
-R 如果是目录 则使其下所有子文件或目录递归生效

案例:
请将 /home/test 目录下所有的文件和目录的所有者都修改成 tom
chown -R tom /home/test

5.修改文件/目录所在组-chgrp

chgrp newgroup 文件/目录 【 改变所在组】

请将 /home/test 目录下所有的文件和目录的所在组都修改成 shaolin(少林)
chgrp -R shaolin /home/test

八.定时任务调度

1.crond 任务调度

crontab [选项]
-e:编辑crontab定时任务
-l:查询crontab任务
-r:删除当前用户所有的crontab任务

service crond restart 重启任务调度

参数说明:
第一个*:一小时当中的第几分钟
第二个*:一天当中的第几小时
第三个*:一个月当中的第几天
第四个*:一年当中的第几月
第五个*:一周当中的星期几

特殊符号:
*:代表任何时间
,:代表不连续的事件
-:代表连续的事件范围
*/n:代表每个多久执行一次

2.at定时任务

at [选项] [时间]
Ctrl + D 结束 at 命令的输入, 输出两次

可以通过atq命令来查看系统重有没有执行的工作任务

九.磁盘相关

查看所有设备挂载情况:lsblk或者lsblk -f

查看系统整体磁盘使用情况:df -h

查询指定目录的磁盘占用情况:du -h
默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值

  1. 统计/opt 文件夹下文件的个数
    ls -l /opt | grep “^-” | wc -l
  2. 统计/opt 文件夹下目录的个数
    ls -l /opt | grep “^d” | wc -l
  3. 统计/opt 文件夹下文件的个数,包括子文件夹里的
    ls -lR /opt | grep “^-” | wc -l
  4. 统计/opt 文件夹下目录的个数,包括子文件夹里的
    ls -lR /opt | grep “^d” | wc -l
  5. 以树状显示目录结构 tree 目录 , 注意,如果没有 tree ,则使用 yum install tree 安装
    tree /home/

十.网络相关

1.查看ip地址ifconfig

linux查看ip地址:ifconfig

固定linux的ip:vi /etc/sysconfig/network-scripts/ifcfg-ens33并对内容进行修改,然后修改linux子网和网关。最后重启网络服务

2.查看进程ps

ps 命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数
指令:ps –aux|grep xxx
a:显示当前终端的所有进程信息
u:以用户的格式显示进程信息
x:显示后台进程运行的参数

ps -ef 是以全格式显示当前所有的进程
-e 显示所有进程。-f 全格式

3.终止进程kill和killall

kill [选项] 进程号(功能描述:通过进程号杀死/终止进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

-9 :表示强迫进程立即停止

4.查看进程树pstree

pstree [选项] ,可以更加直观的来看进程信息
p :显示进程的 PID
-u :显示进程的所属用户

5.服务

service 服务名 [start | stop | restart | reload | status]
在 CentOS7.0 后 很多服务不再使用 service ,而是 systemctl
service 指令管理的服务在 /etc/init.d 查看,即ls -l /etc/init.d

6.chkconfig指令

通过 chkconfig 命令可以给服务的各个运行级别设置自 启动/关闭
chkconfig 指令管理的服务在 /etc/init.d 查看
注意: Centos7.0 后,很多服务使用 systemctl 管理

chkconfig 基本语法

  1. 查看服务 chkconfig --list [| grep xxx]
  2. chkconfig 服务名 --list
  3. chkconfig --level 5 服务名 on/off

7.systemctl 指令

基本语法: systemctl [start | stop | restart | status] 服务名
systemctl 指令管理的服务在 /usr/lib/systemd/system 查看

systemctl 设置服务的自启动状态
systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态, grep 可以进行过滤)
systemctl enable 服务名 (设置服务开机启动)
systemctl disable 服务名 (关闭服务开机启动)
systemctl is-enabled 服务名 (查询某个服务是否是自启动的)

8.firewall指令

  1. 打开端口: firewall-cmd --permanent --add-port=端口号/协议
  2. 关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
  3. 重新载入,才能生效 : firewall-cmd --reload
  4. 查询端口是否开放: firewall-cmd --query-port=端口/协议

9.动态监控进程

top [选项]
-d:指定top命令每隔几秒更新,默认是3秒
-i:使top不显示任何限制或者僵死进程
-p:通过指定监控进程ID来仅仅监控某个进程的状态

交互操作:
P:以CPU使用率排序,默认就是此项
M:以内存的使用率排序
N:以PID排序
q:退出top
u:监控用户
k:终止进程

10.监控网络状态netstat

基本语法
netstat [选项]
选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用
应用案例
请查看服务名为 sshd 的服务的信息。
netstat -anp | grep sshd

十一.rpm和yum

1.rpm查询

rpm 用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。
查询已安装的 rpm 列表 rpm –qa|grep xx
举例: 看看当前系统,是否安装了 firefox
指令: rpm -qa | grep firefox

rpm -qa :查询所安装的所有 rpm 软件包
rpm -qa | more
rpm -qa | grep X [rpm -qa | grep firefox ]

rpm -q 软件包名 :查询软件包是否安装
案例:rpm -q firefox

rpm -qi 软件包名 :查询软件包信息
案例: rpm -qi firefox

rpm -ql 软件包名 :查询软件包中的文件
比如: rpm -ql firefox

rpm -qf 文件全路径名 查询文件所属的软件包
rpm -qf /etc/passwd
rpm -qf /root/install.log

2.卸载rpm包

基本语法
rpm -e RPM 包的名称 //erase
应用案例
删除 firefox 软件包
rpm -e firefox

3.安装rpm包

基本语法
rpm -ivh RPM 包全路径名称
参数说明
i=install 安装
v=verbose 提示
h=hash 进度条

4.yum

Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

查询 yum 服务器是否有需要安装的软件
yum list|grep xx 软件列表

yum install xxx 下载安装

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值