Linux指令
Posted 李元芳芳芳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux指令相关的知识,希望对你有一定的参考价值。
Linux指令
1.实用指令 init 数字
指定运行级别:0:关机,1:单用户(找回丢失密码),2:多用户无网络服务,3:多用户有网络服务,4:保留,5:图形界面,6:重启
2.帮助指令
1)man获得帮助信息,例如man ls
2)help命令,help是内部命令的帮助,比如cd;man是外部命令的帮助,比如ls
3. 文件目录类指令
1)pwd指令
功能描述:显示当前工作目录的绝对路径
2)ls指令
功能描述:显示当前文件夹目录
常用选项:-a:显示当前目录所有的文件和目录,包括隐藏的;-l:以列表的方式显示信息
3)cd指令:
功能描述:转到文件目录
cd /文件名/ cd /root/
4)mkdir指令:
功能描述:创建目录
例如:创建一个目录 /home/dog
mkdir /home/dog
-p:创建多级目录
例如:创建一个目录 /home/animal/tiger
mkdir -p /home/animal/tiger
5)rmdir指令:
功能描述:删除空目录,rmdir删除的是空目录,如果目录下有内容时无法删除的,如果需要删除非空目录,需要使用rm -rf加要删除的目录
例如:删除一个目录 /home/dog
rmdir /home/dog
rm -rf /home/dog
6)touch指令(创建空文件)
创建一个空文件 hello.txt
touch hello.txt
也可以一次性创建多个空文件
touch ok1.txt ok2.txt
7)cp指令:
拷贝文件到指定的目录
-r:递归复制整个文件夹
例如将/home/aaa.txt拷贝到/home/bbb目录下
touch aaa.txt
mkdir bbb
cp aaa.txt bbb/
cd bbb/
ls
8)rm指令:
移除文件或目录
-r:递归删除整个文件夹
-f:强制删除不提醒
rm aaa.txt 回答是否删除时输入y
删除整个目录:rm -rf bbb/
9)mv指令(移动文件与目录或者重命名)
mv 旧名字 新名字
mv aaa.txt pig.txt
将/home/pig.txt 文件移到/root目录下
mv pig.txt /root/
10)cat指令:
cat查看文件内容,以只读的方式打开
-n显示行号
使用细节:cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 |more(more代表分页显示)
cat /etc/profile
cat -n /etc/profile
cat -n /etc/profile |more
11)more指令:
more指令是一个基于VI编译器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键
more /etc/profile
| 操作 |功能说明 |
|–空白键(space)|代表向下翻一页|
| Enter|代表向下翻一行 |
|q | 代表立刻离开more,不再显示该内容 |
|-Ctrl+F-|向下滚动一页–|
| Ctrl+B|返回上一页 |
|=|输出当前的行号|
|:f |输出文件名和当前的行号 |
12)less指令:
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示的,而是根据需要加载内容,对于显示大型文件具有较高的效率。
13)>指令和>>指令
输出重定向和>>追加
基本语法:
ls -l>文件
1、ls -l>a.txt,将ls-l的显示的内容覆盖写入到a.txt文件,如果该文件不存在,就创建该文件2、ls -al>>文件(列表的内容追加到文件aa.txt的末尾)
3、cat 文件1>文件2(将文件1的内容覆盖到)
4、echo “内容”>>文件
echo指令:输出内容到控制台
使用echo指令输出环境变量,输出当前的环境路径:echo $PATH
使用echo指令输出“hello,world”
echo “hello,world”
14)head指令:
用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法:head 文件(查看文件头10行内容)
head -n 5 文件(查看文件头5行内容,5可以是任意行数)
15)tail指令:
用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容
基本语法:
1、tail 文件(查看文件后10行内容)
2、tail -n 5 文件(查看文件后5行内容,5可以是任意行数)
3、tail -f 文件(实时追踪该文档的所有更新)
tail -f mydate.txt 实时监控mydate.txt,看到文件有变化时,是否看到,实时的追加日期
16)ln指令:软链接也叫符号链接,类似于Windows里的快捷方式,主要存放了链接其他的路径
ln -s 原文件或目录 软链接名(功能描述:给原文件创建一个软链接)
在home目录下创建一个软链接linkToRoot,连接到/root目录
ln -s /root linkToRoot
删除软链接linkToRoot
rm -rf linkToRoot(不要带/,否则显示资源忙)
17)history指令:查看已经执行过的历史命令
显示所有的历史命令:history
显示最近使用过的10个指令:history 10
执行历史编号为5的指令
! 5
4.时间日期类
1)date指令
1、date(显示当前时间)
2、date +%Y(显示当前年份)
3、date +%m(显示当前月份)
4、date +%d(显示当前是哪一天)
5、date “+%Y-%m-%d %H:%M%S”(显示年月日时分秒)
6、date “+%Y-%m-%d”(显示年月日)
7、date指令设置日期
date -s 字符串时间
设置系统当前时间:比如设置成2021-05-06 11:01:00
date -s “2021-05-06 11:01:00”
2)cal指令:(查看日历指令)(不加选项,显示本月日历)
显示2020年日历 cal 2020
5.搜索查找类
1)find指令(将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端)
基本语法:find 搜索范围 选项
选项说明:-name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件
应用案例:
按文件名,根据名称查找/home目录下的hello.txt文件
find /home -name hello.txt
按拥有者,查找/opt目录下,用户名称为nobody的文件
find /opt -user nobody
查找整个Linux系统下大于20m的文件(+n 大于 -n 小于 n 等于)
find / -size +20M
查询 /目录下,所有.txt的文件
find / -name .txt
2)locate指令:
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件,locate指令无需遍历整个文件系统,查询速度较快,为了保证查询结果的准确度,管理员必须定期更新locate时刻
特殊说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
案例使用:请使用locate指令快速定位hello.txt文件所在目录
updatedb
locate hello.txt
3)grep指令和管道符号|
grep过滤查找,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
基本语法:grep 查找内容 源文件
cat hello.txt |grep yes
常用选项:
-n 显示匹配行及行号
cat hello.txt |grep -n yes
-i 忽略字母大小写
cat hello.txt |grep -nil yes
6.压缩和解压类
1)gzip/gunzip指令
gzip用来压缩文件(压缩文件,只能将文件压缩为.gz文件)
gzip hello.txt得到hello.txt.gz
gunzip用来解压
gunzip hello.txt.gz
当我们使用gzip对文件进行压缩后,不会保留原来的文件
2)zip/unzip指令
zip用于压缩文件,unzip用于解压,这个在项目打包发布中很有用
zip常用选项:
-r:递归压缩,即压缩目录
unzip常用选项:
-d<目录>:指定解压后文件的存放目录
将/home下的所有文件进行压缩成mypackage.zip
zip -r mypackage.zip /home/
将mypackage.zip解压到/opt/tmp目录下
unzip -d /opt/tmp/ mypackage.zip
3)tar指令:
是打包指令,最后打包的文件是.tar.gz的文件
tar 选项 xxx.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明:
-c:产生.tar打包文件 -v:显示详细信息
-f:指定压缩后的文件名 -z:打包同时压缩
-x:解包.tar文件
案例说明:
压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz
tar -zcvf a.tar.gz a1.txt a2.txt
将/home的文件夹压缩成myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
将a.tar.gz解压到当前目录
tar -zxvf a.tar.gz
将myhome.tar.gz解压到/opt/目录下
tar -zxcf myhome.tar.gz -C /opt/
7.组管理和权限管理
Linux组基本介绍:在Linux中的每个用户必须属于一个组,不能独立于组外,在Linux中的每个文件有所有者、所在组、其他组的概念
1)文件/目录所有者
一般为文件的创建者,查看文件的所有者
ls -ahl
案例:创建一个组police,在创建一个用户tom,然后使用tom来创建一个文件,看看情况如何
groupadd police
useradd -g police tom
2)修改文件所有者:
指令:chown 用户名 文件名
应用案例:使用root创建一个文件apple.txt,然后将其所有者修改成tom
chown tom apple.txt
3)组的创建
指令:groupadd 组名
创建一个用户fox,并放入到monster组中
useradd -g monster fox
id fox//查看fox
当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组
4)修改文件所在的组
指令:chgrp 组名 文件名
chgrp police orange.txt
5)其他组
除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
6)改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组
usermod -g 组名 用户名
以上是关于Linux指令的主要内容,如果未能解决你的问题,请参考以下文章
Linux编程一Linux常见指令和权限理解(思维导图总结)
Linux编程一Linux常见指令和权限理解(思维导图总结)
Linux编程一Linux常见指令和权限理解(思维导图总结)