Linux指令学习

一、基本指令:

1、基本文件命令:

  • 解压文件:tar -zxvf +文件名

  • 编辑文件:vim +文件名

  • 保存退出::wq

  • 不保存退出::q!

  • 显示行号::set nu

  • 取消显示行号::set nonu

  • 删除一行:dd

  • 删除当前行下的多少行:行数+dd

  • 拷贝当前行:yy

  • 拷贝当前行下的多少行:行数+yy

  • 粘贴:p

  • 查找:/+关键字 (再输入n就是查找下一个)

  • 快捷键到文档末尾:G(正常模式)

  • 快捷到文档首行:gg(正常模式)

  • 撤销:u(正常模式)

  • 快捷到某一行:①先显示行号::set nu   ②输入要到达的行数   ③shift+g

2、关机、重启命令:

  • 立即关机:shutdown -h now

  • 1分钟后关机:shutdown -h 1

  • 立即重启:shutdown -r now

  • 重启:reboot

  • 关机:halt

  • sync:将内存中的数据同步到硬盘

3、用户管理:

  • 用户注销:logout(图形运行级别无效)

  • 创建用户:useradd 新的用户名

  • 指定目录创建用户: useradd -d 指定目录 新的用户名

  • 给用户指定或修改密码:passwd 用户名

  • 删除用户保存家目录:userdel 用户名

  • 删除用户不保留家目录:userdel -r 用户名

  • 查询用户:id 用户名

  • 用户切换:su -用户名

  • 返回到原来的用户:exit

  • 查看当前是哪个用户:whoami

  • 增加用户组:groupadd 组名

  • 删除用户组:groupdel 组名

  • 创建用户时直接加上组:useradd -g 组名 用户名

  • 修改用户的组:usermod -g 组名 用户名

4、帮助指令:

  • 帮助指令:man 指令

  • 帮助指令:help 指令

5、文件目录类指令:

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

  • 显示当前工作目录下的文件:ls

  • 以列表的形式显示当前工作目录下的文件:ls -l

  • 以列表的形式显示当前工作目录下的文件以及隐藏的.开头的文件:ls -al

  • 跳转到指定目录:cd 绝对路径 例如:cd /usr/lib

  • 跳转到指定目录:cd 相对路径 例如现在在/usr/lib,要进入/home:cd ../../home

  • 回到上一级目录:cd ..

  • 回到家目录:cd 或者 cd ~

  • 创建一级目录:mkdir 路径+创建目录名

  • 创建多级目录:mkdir -p 路径+多级目录名

  • 删除空目录:redir 需要删除的目录

  • 删除非空目录:re -rf 需要删除的目录

  • 创建一个文件:touch 文件名

  • 创建多个文件:touch 文件名1 文件名2

  • 拷贝文件到指定目录:cp 需要拷贝的文件 需要粘贴的目录

  • 拷贝目录下的所有文件到指定目录:cp -r 需要拷贝的目录 需要粘贴的目录

  • 拷贝目录下的所有文件到指定目录(指定目录以及存在要拷贝的目录,强制覆盖所有):\cp -r 需要拷贝的目录 需要粘贴的目录

  • 删除文件:rm 文件名

  • 强制删除,不提示确定信息:rm -f 文件名

  • 删除目录下的所有文件:rm -rf 目录名

  • 移动文件:mv 要移动的文件 移动到的目录

  • 重命名文件:mv 要重命名的文件 重命名后的文件名

  • 使用cat指令打开文件并分页查看(只能浏览,不能编辑):cat -n 要查看的文件 | more

  • 以全屏的方式按页显示内容:more 文件,快捷键:

  • 打开比较大的文件,以一页一页加载:less 文件,快捷键:

              

  • >指令和>>指令:

            >输出重定向:会将原来的文件覆盖;

            >>追加:不会覆盖原来的内容,而是追加到文件尾部。

            ls -l > a.txt:将ls -l显示的内容覆盖写入到a.txt文件中,如果不存在a.txt文件,就创建该文件。

            ls -l >> a.txt:将ls -l显示的内容追加到a.txt文件中。

            cat a.txt > b.txt:将a.txt文件内容覆盖写入到b.txt中去。

            echo "你好" > a.txt:将“你好”覆盖写入到a.txt中

            echo "你好" > a.txt:将“你好”追加写入到a.txt中

  • 控制台输出文本:echo 输出内容

  • 控制台输出环境变量:echo $PATH

  • 显示指定文件前多少行:head -n 行数 文件

  • 默认显示指定文件前10行:head 文件

  • 显示指定文件后多少行:tail -n 行数 文件

  • 默认显示指定文件后10行:tail文件

  • 实时监控文件,如果有变化就会看到变化:tail -f 要监控的文件

  • 软链接,类似于快捷方式:ln -s 真实文件 链接文件(快捷方式) 

  • 删除软链接:rm -rf 链接文件

  • 查看执行过的所有指令:history

  • 查看最近执行过的10个指令:history 10

  • 执行编号为122的指令:!122

6、时间日期类指令:

  • 查看当前日期时间:date

  • 查看当前年月日时分秒:date "+%Y年%m月%d日 %H时:%M分:%S秒"

  • 设置时间:date -s "2020-02-02 02:20:02"

  • 显示日历:cal

  • 显示某一年的日历:cal 年份

7、搜索查找类指令:

  • 按文件名查找文件:find 查找的范围 -name(查找参数) 要查找的文件(*代表查找所有)

  • 按文件用户查找:find 查找的范围 -user(查找参数) 所属用户(*代表查找所有)

  • 按文件大小查找大于20M的文件:find / -size +20M(大于:+,小于:-,等于: )

  • 创建locate数据库:updatedb

  • 快速查询:locate 文件(第一次使用locate前必须先创建locate数据库)

  • 管道符号:| (将前面指令的结果交给后面的指令)

  • 查找a.txt文件中的yes:cat a.txt | grep yes

  • 查找a.txt文件中的yes,显示行号:cat a.txt | grep -n yes

  • 查找a.txt文件中的yes,区分大小写,显示行号:cat a.txt | grep -ni yes

8、压缩和解压缩文件指令:

  • 压缩文件:gzip 文件(压缩后不会保留原来的文件)

  • 解压缩:gunzip 文件

  • 递归压缩整个文件夹:zip -r mypackage.zip(得到的压缩文件) /home/(要压缩的目录)

  • 递归解压整个压缩文件:unzip -d /opt/(要解压的目录) mypackage.zip(要解压的压缩文件)

  • 将a.txt,b.txt压缩到a.tar.gz:tar -zcvf a.tar.gz a.txt b.txt

  • 将整个目录打包到a.tar.gz:tar -zcvf a.tar.gz /home/

  • 将a.tar.gz解压到当前目录:tar -zxvf a.tar.gz

  • 将a.tar.gz解压到指定目录:tar -zxvf a.tar.gz -C /home/(注意:这里要解压到的目录必须存在)

9、文件/目录所有者:

  • 查看文件所有者:ls -ahl

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

  • 递归修改目录下所有文件包括目录的所有者:chown -R 用户名 目录名

  • 创建组:groupadd 组名

  • 创建一个用户,并放入组:useradd -g 组名 用户名

  • 查看文件所在组:ls -ahl

  • 修改文件所在组:chgrp 组名 文件名

  • 递归修改目录下所有文件包括目录的所在组:chgrp-R 组名 目录名

  • 修改用户所在组:usermod -g 组名 用户名

  • 修改文件权限:

                ①给abc文件所有者读写执行的权限,给同一组用户读权限,给其他用户读权限:chmod u=wrx,g=r,o=r abc

                ②给abc文件所有者除去执行权限,给同一组用户添加写权限:chmod u-x,g+w abc

                ③给abc文件所有用户添加写权限:chmod a+w abc

  • 修改文件权限(数字方式:r:4,w:2,x:1):chmod 751 abc

二、高级指令:

1、定时任务调度:

  1. 操作步骤:

    1. crontab -e

    2. */1 * * * * ls -l /etc >> /tmp/to.txt

    3. 保存退出后就会开始计时

    4. 每1分钟,就会执行ls -l /etc >> /tmp/to.txt这个命令

    5. 第一位代表一小时中的第几分钟,第二位代表一天中的第几小时,第三位代表一月中的第几天,第四位代表一年中的第几月,第五位代表一星期中的星期几(0和7都代表星期日)

  2. 定时调度shell脚本:

    1. 创建mytask.sh脚本:vim mytask.sh

    2. 写入要执行的命令:date >> /tmp/to.txt

    3. 修改mytask.sh脚本的权限为可执行:chmod 744 mytask.sh

    4. 进入任务调度:crontab -e

    5. 写任务调度命令:*/1 * * * * /home/mytask.sh

    6. 保存并退出::wq

  3. crontab相关命令:

    1. 查看 当前有哪些任务调度:crontab -l

    2. 删除当前所有任务调度;crontab -r

    3. 重启任务调度:service crond restart

2、磁盘分区:

例:查询/opt目录的磁盘占用情况深度为1:du -ach --max-depth=1 /opt

  1. 查看磁盘分区指令:lsblk (记忆:老师不离开)

  2. 查看磁盘分区挂载指令:lsblk -f

  3. 磁盘情况查询:df -l 或 df -lh

  4. 查询某个目录占用磁盘情况:du -h /目录

    1. -s 指定目录占用大小汇总

    2. -h 带计量单位

    3. -a 含文件

    4. --max-depth=1 子目录深度 

3、磁盘情况-工作实用指令:

  1. 统计/home/文件夹下文件的个数:ls -l /home | grep "^-" | wc -l

  2. 统计/home文件夹下目录的个数:ls -l /home | grep "^d" | wc -l

  3. 统计/home文件夹下文件的个数,包括子文件夹里的:ls -lR /home | grep "^-" | wc -l

  4. 统计文件夹下目录的个数包括子文件夹里的:ls -lR /home | grep "^d" | wc -l

  5. 以树状显示目录结构:tree(要先安装tree:yum install tree)

4、虚拟机增加硬盘步骤:

  1. 虚拟机添加硬盘:

    1.   

    2. 分区:fdisk /dev/sdb

    3. 格式化:mkfs -t ext4 /dev/sdb1

    4. 挂载:先创建一个/home/newdis,挂载:mount /dev/sdb1 /home/newdisk

    5. 设置自动挂载(永久挂载):①vim /etc/fstab ②添加:/dev/sdb1     /home.newdisk     ext4    defaults    0  0  ③保存并退出::wq

5、设置自动连接网络:

  1. 这样设置后重启即可完成设置,但是ip有可能会改变,所以下面进行固定ip配置:

    1. vim /etc/sysconfig/network-scripts/ifcfg-eth0

    2. 修改文件内容:

    3. 重启网络服务:service network restart

6、显示系统进程:ps -aux

  1. 查看某一指定进程:ps -aux | grep XXX

  2. 查看某一进程的父进程:ps -ef | grep XXX

  3. 终止进程:kill 进程号

  4. 终止父进程下的所有子进程:killall 父进程

  5. 强制终止进程:kill -9 进程号

  6. 以树状显示进程:pstree -u或-p(-u:显示进程pid,-p:显示进程所属用户)

7、服务管理指令:service 服务名 【start | stop | restart | reload | status】(CentOs7.0后不再使用service,而是使用systemctl)

  1. 查看防火墙状态:service iptables status

  2. 查看服务两种方法:

    1. setup

    2. ls -l /etc/init.d/

  3. 查看服务运行级别:chkconfig --list

  4. 查看某一个服务运行级别:chkconfig --list | grep 服务名 或 chkconfig 服务名 --list

  5. 修改服务在某一级别下是否自启动状态:chkconfig --level [0,1,2,3,4,5,6] 服务名 on/off 

8、服务监控指令:

  1. 查看指定用户的进程:top,然后按u,输入用户名

  2. 终止指定的进程:top,然后按k,输入进程号

  3. 指定系统状态更新的时间:top -d 10(10秒更新一次)

  4. 排序:在运行过程中,即top命令后,按相应指令(P:以CPU使用率排序,默认就是这个;M:以内存使用率排序;N:以PID排序;q:退出程序)

  5. 查看所有的网络服务:netstat -anp

  6. 查看某一个网络服务:netstat -anp | grep 服务名

9、RPM包管理:

  1. 查询系统安装的所有rpm软件:rpm -qa

  2. 查询系统是否安装了某个rpm文件:rpm -qa | grep 软件名

  3. 查询安装的rpm包软件的信息:rpm -qi 软件名

  4. 查询安装的rpm包软件装了哪些文件,并且查看安装到了哪些目录:rpm -ql 软件名

  5. 查询文件是输入哪个rpm软件包的:rpm -qf 文件名

  6. 卸载删除rpm软件:rpm -e 软件名

  7. 强制卸载删除rpm软件:rpm -e --nodeps 软件名

  8. 安装rpm包软件:rpm -ivh 软件包

10、yum包管理(需要联网):

  1. 查询yum服务器中所有的软件包:yum list

  2. 查询yum服务器中指定的软件:yum list | grep 软件名

  3. 安装yum包软件:yum install 软件包

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值