• Linux实用指令


    1. 指定运行级别

    运行级别说明:

    • 0:关机

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

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

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

    • 4:保留级别

    • 5:图形界面

    • 6:系统重启

    1569339540141

    2. 修改默认运行级别

    开机后默认进入的运行级别

    vim /etc/inittab
    
    # 修改最后一行:
    # id:5:initdefault:	
    # 设置为0或6需谨慎,如果设置了,开启画面出现前按Enter键阻止引导,e → e → 修改最后一行 → b(重新引导)
    

    3. 切换运行级别

    3.1 基本指令

    init [012356]	# 如 init 3 进入多用户状态
    
    # 测试:
    # 1.从图形化切到级别3
    	init 3
    # 2.再切回图形化
    	init 5
    # 3.切换到关机级别
    	init 5
    

    3.2 面试题

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

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

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

    4. 帮助指令

    man 指令及配置文件
    help shell内置指令
    百度
    Linux指令查询网址,如:https://wangchujiang.com/linux-command/
    

    5. 文件目录指令

    5.1 pwd指令

    pwd		# 显示当前所在的目录
    

    5.2 ls指令

    ls [选项] [目录或文件]	    # 查看文件信息
    ls -a 					# 查看所有文件和目录,包括隐藏的
    ls -l					# 以列表的方式显示
    ll						# ls -l的缩写,在shell中谨慎使用
    

    5.3 cd指令

    cd 路径	# 进入指定文件夹
    cd ~:	  # 回到家目录
    cd ..:    # 回到上一级目录
    
    # 练习:
    # 1.使用绝对路径,切换到root目录
    	cd /root
    # 2.使用相对路径,切换到root目录,比如当前在/usr/lib
    	cd ../../root
    # 3.回到上一级目录
    	cd ..
    # 4.回到家目录
    	cd 
    	cd ~	# 两种方式均可以
    

    5.4 mkdir指令

    mkdir [选项] 路径		# 创建文件夹
    mkdir -p 路径			 # 创建多级文件夹
    

    5.5 rmdir指令

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

    5.6 touch 指令

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

    5.7 cp指令

    拷贝文件到目标路径

    5.7.1 基本语法

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

    5.7.2 补充

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

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

    5.8 rm指令

    删除目录或者文件

    5.8.1基本语法

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

    5.9 mv指令

    移动文件或重命名

    5.9.1 基本语法

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

    5.10 cat指令

    显示文件内容

    5.10.1 基本语法

    cat [选项] 文件路径
    
    cat 文件路径		# 显示文件内容
    cat -n 文件路径		# 显示文件内容,并显示行号
    
    # 小练习:
    # 1.用cat显示/etc/profile 的内容,并显示行号
    	cat -n /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			 输出文件名和当前行号
    

    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 基本说明

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

    >:输出重定向			会覆盖原来文件内容
    >>:追加重定向		追加到文件末尾
    

    5.13.2 示例

    # 1.a.txt里写上任意内容
    	echo 'hello' > a.txt
    # 2.把ll 查找的结果,用输出重定向写进a.txt
    	ll > a.txt
    # 3.b.txt里写上任意内容
    	echo 'hello' > b.txt
    # 4.把ll 查找的结果,用追加重定向写进b.txt
    	ll >> 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 行内容

    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行内容
    	tail -n 5 /etc/profile
    # 2.实时追踪/home/myinfo.txt,在虚拟机上更新myinfo.txt,看xshell的效果
    	tail -f /home/myinfo.txt
    

    5.16 ln指令

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

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

    5.17 history指令

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

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

    所以,在服务器实际操作时,指令不要瞎逼乱输

    6. 时间日期类

    6.1 date 指令

    6.1.1 基本语法

    date 			# 显示当前日期
    data +%Y		# 显示当前年份
    data +%m		# 显示当前月份
    data +%d		# 显示当前天
    data "+%Y-%m-%d %H:%M:%S"	# 中间有空格,应该使用"",否则将认为是两个参数而报错
    
    # 小练习:
    # 1.显示当前时间信息
    	date
    # 2.显示当前时间年月日
    	date +%Y-%m-%d
    # 3.显示当前时间年月日时分秒
    	date "+%Y-%m-%d %H:%M:%S"
    

    6.2 cal指令

    查看日历

    cal 		# 显示当前日历
    cal 2020 	# 显示2020年的日历
    cal 1 2020	# 显示2020年1月的日历
    

    6.3 find指令

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

    find [范围] [选项]
    # 范围:指路径,不写默认从当前向下找,类似于windows的查找
    
    # 选项:
    -name 文件名		# 按文件名查找
    -user 用户名		# 查找属于该用户的所有文件
    -size 			  # 按文件大小查找
    # 	+20M
    # 	-20M
    # 	20M
    # 	20K
    
    # 备注:文件名还可以使用正则表达式匹配,正则表达式要放在""中
    
    # 小练习:
    # 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"
    

    6.4 grep 指令 和 管道符号 |

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

    grep:过滤查找

    grep [选项] 过滤内容
    
    # 选项:
    # -n		显示匹配行及行号
    # -i		忽略字母大小写
    
    # 例子:
    # 1.创建文件,写上多行,包含'yes'和'YES'
    # 2.查找'yes'所在行,并显示行号
    	grep -n 'yes'
    # 3.忽略大小写,查找'yes'所在行
    	grep -ni '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解压
    	gunzip /home/1.txt.gz
    

    7.2 zip/unzip 指令

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

    zip [选项] xxx.zip 被压缩内容			# 压缩文件或者目录
    	-r 								# 压缩目录
    
    unzip [选项] xxx.zip  			    # 解压文件	
    	-d 目录						   # 指定压缩后的存放目录
    
    # 例子:
    # 1.将 /home 下的 所有文件压缩成 mypackage.zip
    	zip -r mypackage.zip /home
    # 2.讲mypackge.zip解压到/opt/tmp下
    	zip -d mypackage.zip /opt/tmp
    

    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
    	cd /home
    	tar -zcvf a.tar.gz a1.txt 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 -zxvf myhome.tar.gz -C /opt/
    
  • 相关阅读:
    css3动画入门transition、animation
    vue入门教程 (vueJS2.X)
    web前端开发 代码规范 及注意事项
    树莓派 mongodb 安装&报错处理
    mongodb Failed to start LSB: An object/document-oriented dat
    js实现replaceAll功能
    mac for smartSVN9 (8,9)破解方法 附smartSvn_keygen工具图文
    js可视区域图片懒加载
    Hibernate基础知识
    Hibernate缓存策略
  • 原文地址:https://www.cnblogs.com/zj420255586/p/12168461.html
Copyright © 2020-2023  润新知