• 实用指令


    实用指令

    1 指定运行级别

    运行级别说明:

    0:关机

    1:单用户[找回丢失密码]

    2:多用户状态[无网络服务]

    3:多用户状态[有网络服务]

    4:保留级别

    5:图形界面

    6:系统重启

    2 修改默认运行级别

    修改:/etc/inittabid:5:initdefault:

    vim /etc/inittab
    
    
    #   0 - halt (Do NOT set initdefault to this)
    #   1 - Single user mode
    #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
    #   3 - Full multiuser mode
    #   4 - unused
    #   5 - X11
    #   6 - reboot (Do NOT set initdefault to this)
    # 
    
    修改最后一行:修改默认级别
    id:5:initdefault:  默认为第5级别
    

    3 切换运行级别

    3.1 基本指令

    init [012356]
    
    测试:
    1.从图形化切到级别3
    2.再切回图形化
    3.切换到关机级别
    
    

    3.2 面试题

    ​ 如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回。

    ​ 思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。

    动手:
    开机->在引导时输入 回车键-> 看到一个界面输入 e ->  看到一个新的界面,选中第二行(编辑内核)在输入  e->  在这行最后输入1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。
    这时,我们就进入到单用户模式,使用 passwd  指令来修改 root  密码。
    
    练习:
    1.假设我们的 root 密码忘记了,请问如何找回密码
    2.请设置我们的 运行级别,linux 运行后,直接进入到 命令行界面,即进入到 3 运行级别
    

    在进入界面后,当进度条刚完成的时候按enter



    4 帮助指令

    man 指令及配置文件
    help shell内置指令
    指令 --help
    百度
    
    ls --help
    man ls
    

    5 文件目录指令

    5.1 pwd指令

    pwd		显示当前所在的目录
    

    5.2 ls指令(查看)

    ls [选项] [目录或文件]		查看文件信息
    ls -a 					查看所有文件和目录,包括隐藏的
    ls -l   					以列表的方式显示
    ls -l 相当于 ll
    

    5.3 cd指令

    cd 路径
    cd ~:	回到家目录
    cd ..:  回到上一级目录
    
    练习:
    1.使用绝对路径,切换到root目录
    2.使用相对路径,切换到root目录,比如当前在/usr/lib
    3.回到上一级目录
    4.回到家目录
    

    5.4 mkdir指令

    mkdir [选项] 路径		创建文件夹
    mkdir -p 路径			 创建多级文件夹
    
    mkdir test
    mkdir test test1
    mkdir -p test2/test
    

    5.5 rmdir指令

    rmdir [选项] 路径		删除空文件夹
    rmdir -p 路径			 递归删除空文件夹
    
    文件夹下有内容,则无法删除
    

    5.6 touch 指令

    创建文件

    touch 文件路径
    
    可以一次创建多个文件
    touch 文件路径1 文件路径2
    

    5.7 cp指令

    拷贝文件到目标路径

    5.7.1 基本语法

    cp [选项] 源路径 目标路径
    
    cp 源路径 目标路径  			拷贝单个文件
    cp -r 源路径 目标路径			拷贝文件夹
    
    小练习:
    1./home下创建test1文件夹
    2.test1文件夹中创建a.txt,b.txt,c.txt三个文件
    3.把test1中的a.txt复制到/home下
    4.新建一个文件夹test2
    5.拷贝整个test1到test2下
    

    拷贝到文件夹下并修改文件名

    cp a.c /test/b.c

    5.7.1 补充

    当拷贝时发现相同文件,会提示[是否覆盖?]

    cp [选项] 源路径 目标路径		取消提示,强制复制
    

    5.8 rm指令

    删除目录或者文件

    5.8.1基本语法

    rm [选项] 目标路径
    
    rm 文件路径			删除文件
    rm -r 文件夹路径		删除文件夹
    rm -f xxxx			强制删除不提示
    
    小练习:
    1.删除test1中的a.txt文件
    2.删除test2整个文件夹
    

    5.9 mv指令

    移动文件或重命名

    5.1 基本语法

    mv 源路径 目标路径
    
    小练习:
    1.修改test1中的a.txt 为 d.txt
    2.把test1中的c.txt 移动 到/home下
    

    5.10 cat指令

    显示文件内容

    5.10.1 基本语法

    cat [选项] 文件路径
    
    cat 文件路径		显示文件内容
    cat -n 文件路径		显示文件内容,并显示行号
    
    小练习:
    1.用cat显示/etc/profile 的内容,并显示行号
    

    5.10.2 补充说明

    正常情况为了方便阅读,我们会在cat指令最后加上管道符"
    |",把内容传给more,分页显示

    如:

    cat -n /etc/profile | more
    

    5.11 more指令

    more指令是基于vi编辑器的文本过滤器,以全屏的方式按页显示文本内容

    more指令中内置了很多快捷键,用起来很方便

    5.11.1 基本语法

    more 文件路径
    

    5.11.2 快捷键

    空格			向下翻一页
    Enter		 向下翻一行
    q			 立即离开
    Ctrl+F		 向下滚动一屏
    Ctrl+B		 向上滚动一屏
    =			 显示当前行号
    :f			 输出文件名和当前行号
    
    
    查找
    cat 文件 | more
    : /查找
    
    

    cat -n /etc/profile | gerp '内容

    5.12 less指令

    比more更加强大,功能比more更过,这里只介绍部分

    5.12.1 基本语法

    less 文件路径
    
    

    5.12.2 快捷键

    空格				向下翻一页
    pagedown		  向下翻一页
    pageup			  向上翻一页
    /字符串		    向下查找[字符串],n下一个,N上一个
    ?字符串			向上查找[字符串],n下一个,N上一个
    q				  离开less
    

    5.13 >指令/>>指令

    重定向

    指令--路径

    指令运行的结果输入到路径中

    5.13.1 基本说明

    把前方语句的结果存进文件,若文件不存在会自动创建

    >:输出重定向			会覆盖原来文件内容(类似w)
    >>:追加重定向		追加到文件末尾(类似a)
    

    5.13.2 示例

    1.a.txt里写上任意内容
    2.把ll 查找的结果,用输出重定向写进a.txt
    ll /root > /home/a.txt中
    ll /root 执行的命令输入到a.txt
    3.b.txt里写上任意内容
    4.把ll 查找的结果,用追加重定向写进b.txt
    ll /root >> /home/b.txt中
    
    小练习:
    1.把/etc/profile 的内容 写进 /home/c.txt中
    cat /etc/profile > /home/c.txt
    
    

    5.14 echo指令

    把内容输出到控制台

    如下:
    echo "我是杨家三少"
    echo $PATH  变量
    
    
    小练习:
    1.用echo输出'hello world'
    echo 'hello world'
    

    5.15 head指令

    head
    用于显示文件的开头部分内容,默认情况下
    head 指令显示文件的前
    10 行内容

    默认显示前10行

    5.15.1 基本语法

    head 文件路径			查看文件前10行
    head -n 5 文件路径		查看文件前5行
    
    小练习:
    1.查看/etc/profile 的前5行内容
    head -n 5 /etc/profile
    

    5.15 tail指令

    tail
    用于显示文件的结尾部分内容,默认情况下tail指令显示文件的后10行内容

    5.15.1 基本语法

    tail 文件路径			查看文件前10行
    tail -n 5 文件路径		查看文件前5行
    tail -f 文件路径		实时追踪文件所有的更新-----经常使用(监听)
    
    
    小练习:
    1.查看/etc/profile 的后5行内容
    2.实时追踪/home/myinfo.txt,在虚拟机上更新myinfo.txt,看xshell的效果
    

    5.16 ln指令

    软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径

    ln -s 源文件或源文件夹 软连接名
    
    测试:
    1. 在/home目录下创建/root的软链接,名字为linktoroot
    ln -s /root /home/lonktoroot
    2. cd 到软链接,然后pwd,查看当前路径
    3. 创建一个a.txt的文件
    4. cd 到 /root目录,查看是否有变化
    5. 删除/home下的linktoroot
    

    硬链接

    只能为文件创建硬链接,文件夹不行

    ln a.txt linkout
    

    5.17 history指令

    查看已经执行过历史命令,也可以执行历史指令

    history 		查看所有的历史指令
    history 10		查看最近执行的10条指令
    !100			执行编号为100的指令
    

    所以,在公司,指令不要瞎逼乱输

    6 时间日期类

    6.1 date 指令

    6.1.1 基本语法

    date 			显示当前日期
    ps:2020年 01月 09日 星期四 15:50:45 CST
    date +%Y		显示当前年份
    ps:2020
    date +%m		显示当前月份
    ps:01
    date +%d		显示当前天
    ps:09
    date '+%Y-%m-%d %H:%M:%S'
    ps:2020-01-09 15:53:16
    
    小练习:
    1.显示当前时间信息
    2.显示当前时间年月日
    3.显示当前时间年月日时分秒
    

    6.2 cal指令

    查看日历

    cal 		显示当前日历
    cal 2020 	显示2020年的日历
    cal 10 2021  显示2021年10月
    

    6.3 find指令

    find
    指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端

    find [范围] [选项]
    范围:指路径,不写默认从当前向下找,类似于windows的查找
    
    选项:
    -name 文件名		按文件名查找
    -user 用户名		查找属于该用户的所有文件
    -size 			  按文件大小查找
    	+20M		  大于20M
    	-20M		  小于20M
    	20M			  等于20M
    	20K
    	b
    	bit
    	等
    	
    

    可以使用通配符

    find /home -name '*.c' 
    find /home -name 'C*'
    find /home --cname '^c' 递归查找
    find /home -user root 查询用户的所有文件
    find /home -size +20M
    
    
    小练习:
    1.根据名称查找/home 目录下的 a.txt 文件
    	find /home -name a.txt
    2.查找/opt 目录下,用户名称为 lxx 的文件
    	find /opt -user lxx
    3.查找整个 linux 系统下大于 20M 的文件
    	find / -size +20M
    4.查询/ 目录下,所有.txt 的文件
    	find / -name '*.txt'
    5.查询/目录下所有属于lxx用户的.txt文件
    	find / -user lxx -name '*.txt'
    

    6.4 grep 指令 和 管道符号 |

    使用> 指令|指令 > 把前面指令的打印结果交给后面指令执行

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

    grep:过滤查找

    grep [选项] 过滤内容
    
    选项:
    -n		显示匹配行及行号
    -i		忽略字母大小写
    
    首先需要将文本的内容拿出 cat 文件
    cat a.txt | grep 'yes'
    cat a.txt | grep -n 'yes'
    cat a.txt | grep -n -i 'yes'
    
    例子:
    1.创建文件,写上多行,包含'yes'和'YES'
    2.查找'yes'所在行,并显示行号
    3.忽略大小写,查找'yes'所在行
    

    7 压缩和解压类

    7.1 gzip/gunzip 指令

    用于压缩和解压文件

    gzip 文件路径
    gunzip gz文件路径   解压
    

    说明:使用gzip压缩文件之后,不会保留原来的文件,解压后,压缩包不会保留

    特点只能压缩文件

    例子:
    1.将 /home 下的 1.txt 文件使用gzip压缩
    	gzip /home/1.txt
    2.将 /home 下的 1.txt.gz 文件使用gunzip解压
    	gzip /home/1.txt.gz
    

    7.2 zip/unzip 指令

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

    执行如果没有进行下载:

    ​ 下载安装

    yum install zip yun install unzip

    文件
    zip xxx.zip a.txt
    unzip xxx.zip
    文件夹
    zip [选项] xxx.zip 被压缩内容			压缩文件或者目录
    	-r 								压缩目录
    
    
    zip -r my.zip 文件   如果不加-r 递归压缩,就会只压缩空文件
    
    unzip [选项] xxx.zip  			    解压文件	
    	-d 目录							指定压缩后的存放目录
    
    unzip -d /home xxx.zip
    
    
    
    
    
    例子:
    1.将 /home 下的 所有文件进行压缩成 
    	zip -r mypackage.zip /home
    2.讲mypackge.zip解压到/opt/tmp下
    	unzip -d /home mypackage.zip
    
    

    7.3 tar指令

    tar 指令 是打包指令,最后打包后的文件是
    .tar.gz
    的文件

    压缩:
    tar -zcvf xx.tar.gz  被压缩内容			 		   压缩
    tar -zxvf xx.tar.gz	 -C 目标路径					解压
    
    z:使用gzip格式压缩
    c:创建压缩包
    x:解压
    f:显示压缩解压过程
    
    
    例子:
    1.压缩多个文件,将  /home/a1.txt 和  /home/a2.txt 压缩成	a.tar.gz
    	tar -zcvf a.tar.gz /home/a1.txt /home/a2.txt
    2.将/home 的文件夹 压缩成 myhome.tar.gz
    	tar -zcvf myhome.tar.gz /home
    3.将  a.tar.gz	解压到当前目录
    	tar -zxvf a.tar.gz
    4.将 myhome.tar.gz	解压到 /opt/ 目录下
    	tar -zxcf myhome.tar.gz -C /opt/
    
    
  • 相关阅读:
    P2P之UDP穿透NAT的原理与实现
    Jmeter压力测试工具安装及使用教程
    整合Solr与tomcat以及第一个core的配置
    windows下Redis安装及利用java操作Redis
    spring整合Jersey 无法注入service的问题
    MySQL-Navicat连接MySQL出现1251或1130报错的解决方法
    华为VRP
    开发工具-Sublime
    服务器-Windows 2003 R2-取消多用户登录-多个用户登录显示不同的界面解决方法
    服务器-惠普 HP ProLiant-linux系统-RAID信息查看和阵列卡操作-hpacucli工具使用
  • 原文地址:https://www.cnblogs.com/SkyOceanchen/p/12171650.html
Copyright © 2020-2023  润新知