Linux常用命令
1、关机&重启命令
shutdown
shutdown -h now 立即关机 shutdown -h 1 1分钟后关机 shutdown -r now 立即重启
halt :直接使用,效果等价于关机 reboot:重启系统 syn: 把内存的数据同步到磁盘
注意:当关机或者重启时,都应该先执行sync
指令,把内存的数据写入磁盘,防止数据丢失
2、用户管理
2.1、添加用户useradd
useradd [选项] 用户名
如:添加一个用户xm. useradd xm
注意
1、当创建用户成功后,会自动的创建和用户同名的家目录
2、也可以通过useradd -d
指定目录 新的用户名,给新创建的用户指定家目录
useradd -d /home/dog xq
2.2 给用户指定或者修改密码passwd
基本语法
passwd 用户名
如: passwd xm
2.3 删除用户userdel
userdel 用户名
1、删除用户xm,但是保留家目录
userdel xm
2、删除用户xh以及用户主目录
userdel -r xq
2.4 查询用户信息id
id 用户名
2.5 切换用户su
在操作Linux中,如果当前用户的权限不够,可以通过su -
指令,切换到高权限用户,比如root
su - 用户名
2.6 用户组
类似于角色,系统可以对有共性的多个用户进行统一的管理
2.6.1 增加组groupadd
groupadd 组名
2.6.2 删除组groupdel
groupdel 组名
2.7 增加用户时直接加上组useradd -g
useradd -g 用户组 用户名
增加一个用户zwj,直接将他指定到wudang useradd -g wudang zwj
2.8 修改用户的组 usermod
usermod -g 用户组 用户名
创建一个shaolin组,将zwj用户修改到shaolin groupad shaolin usermod -g shaolin zwj
3、文件目录类指令
3.1、 pwd指令
显示当前工作目录的绝对路径
3.2、 ls指令
ls [选项] [目录或文件]
常用选项:
-a :显示当前目录所有的文件和目录,包括隐藏的 -l :以列表的方式显示信息
3.3、 cd指令
切换到指定目录
cd [参数]
cd~ 或者 cd: 回到自己的家目录 cd.. 回到当前目录的上一级目录
案例
使用相对路径到/root目录 此处我们需要知道该用户目录在哪个目录下,才能写出这个指令,假设在/user/lib cd ../../root
3.4、 mkdir指令
mkdir指令用于创建目录
mkdir [选项] 要创建的目录
常用选项 : -p
创建多级目录
创建一个目录 /home/dog mkdir /home/dog
如果希望一次创建多级目录,带上参数-p即可 mkdir -p /home/animal/tiger
3.5、 rmdir指令
删除空目录
rmidr [选项] 要删除的空目录
删除一个目录/home/dog (此处必须为空目录) rmdir /home/dog
如果要删除非空目录,需要使用rm -rf 要删除的目录
rm -rf /home/dog
3.6、 touch指令
创建空文件
创建一个空文件 hello.txt touch hello.txt
3.7、 cp指令(重要)
拷贝文件到指定目录
cp [选项] source dest
常用选项 -r
:递归复制整个文件夹
将/home/aaa.txt 拷贝到 /home/bbb 目录下(拷贝单个文件) cp aaa.txt bbb/
将/home/test 整个目录拷贝到/home/zwj 目录下 cp -r test/ zwj/
3.8、 rm指令
移除[删除]文件或者目录
rm [选项] 要删除的文件或目录
常用选项
-r :递归删除整个文件夹 -f :强制删除不提示
3.9、 mv指令
移动文件与目录或重命名
mv oldNameFile newNameFile (重命名) mv /temp/movefile/targetFolder (移动文件)
将 /home/aaa.txt 文件重新命名为 pig.txt mv aaa.txt pig.txt
将 /home/pig.txt 文件移动到 /root目录 mv pig.txt /root/
3.10、 cat指令
查看文件内容,以只读的方式打开
cat [选项] 要查看的文件
常用选项:-n
显示行号
/etc/profile 文件内容,并显示行号 cat -n /etc/profile | more
使用细节
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 |more
cat 文件名 | more [分页浏览]
3.11、 more指令
more 指令是一个基于VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more
指令中内置了若干快捷键
more 要查看的文件
采用more 查看文件 /etc/profile more /etc/profile
快捷键
3.12、 less指令
less 指令用来分屏查看文件内容,它的功能与more 指令类似,但是比more 指令更加强大,支持
各种显示终端。
less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示
需要加载内容,对于显示大型文件具有较高的效率。
less 要查看的文件
采用less 查看一个大文件 /opt/金庸-射雕英雄传txt 精校版.txt cd /opt/ ls less 金庸-射雕英雄传txt 精校版.txt
快捷键
3.13、 > 指令和>> 指令
1、 > 输出重定向: 会将原来的文件的内容覆盖
2、>> 追加:不会覆盖原来文件的内容,而是追加到文件的尾部。
基本语法:
1、ls -l >文件 (功能描述:列表的内容写入文件a.txt 中(覆盖写))
ls -l > a.txt
ls -l > a.txt , 将ls -l 的显示的内容覆盖写入到a.txt 文件,如果该文件不存在,就创建该文
件。
2、ls -al >>文件(功能描述:列表的内容追加到文件aa.txt 的末尾)
ls -l >> b.txt
3、cat 文件1 > 文件2 (功能描述:将文件1 的内容覆盖到文件2)
cat /etc/profile > c.txt
4、echo "内容" >> 文件
将/home 目录下的文件列表写入到/home/info.txt 中 ls -l /home/ > /home/info.txt
将当前日历信息追加到/home/mycal 文件中[提示cal ] cal >> /home/mycal
3.14、echo指令
输出内容到控制台
echo [选项] [输出内容]
使用echo 指令输出环境变量,输出当前的环境路径。
echo $PATH
3.15、head指令
head 用于显示文件的开头部分内容,默认情况下head 指令显示文件的前10 行内容
基本语法:
head 文件(功能描述:查看文件头10 行内容) head -n 5 文件(功能描述:查看文件头5 行内容,5 可以是任意行数)
案例:
查看/etc/profile 的前面5 行代码
head -n 5 /etc/profile
3.16、tail指令
tail 用于输出文件中尾部的内容,默认情况下tail 指令显示文件的后10 行内容。
基本语法:
1) tail 文件(功能描述:查看文件后10 行内容) 2) tail -n 5 文件(功能描述:查看文件后5 行内容,5 可以是任意行数) 3) tail -f 文件(功能描述:实时追踪该文档的所有更新,工作经常使用)
3.17、ln指令
软链接也叫符号链接,类似于windows 里的快捷方式,主要存放了链接其他文件的路径
基本语法:
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
案例:
在/home 目录下创建一个软连接linkToRoot,连接到/root 目录
ln -s /root linkToRoot
删除软连接linkToRoot
rm -rf linkToRoot
注意:当我们使用pwd 指令查看目录时,仍然看到的是软链接所在目录。
3.18、history指令
查看已经执行过历史命令,也可以执行历史指令
基本语法:
history (功能描述:查看已经执行过历史命令)
案例:
显示所有的历史命令
history
显示最近使用过的10个指令
history 10
4 时间日期类指令
4.1 date指令-显示当前日期
基本语法:
1) date (功能描述:显示当前时间) 2) date +%Y (功能描述:显示当前年份) 3) date +%m (功能描述:显示当前月份) 4) date +%d (功能描述:显示当前是哪一天) 5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
4.1.2 date指令-设置日期
基本语法:
date -s 字符串时间
案例:设置系统当前时间, 比如设置成2018-10-10 11:22:22
date -s "2018-10-10 11:12:22"
4.2 cal指令 查看日历指令
基本语法:
cal [选项] (功能描述:不加选项,显示本月日历)
案例: 显示2020 年日历
cal 2020
5 搜索查找类失灵
5.1 find指令
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
5.2 locate指令
locaate 指令可以快速定位文件路径
Locate 指令无需遍历整个文件系统,查询速度较快。
基本语法:
locate 搜索文件
特别说明:由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb 指令创建locate 数据库。
案例:请使用locate 指令快速定位hello.txt 文件所在目录
locate hello.txt
5.3 grep指令和管道符号
grep 过滤查找, 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
基本语法:
grep [选项] 查找内容源文件
选项说明
-n 显示匹配行及行号 -i 忽略字母大小写
案例:请在hello.txt 文件中,查找"yes" 所在行,并且显示行号
cat hello.txt | grep -n yes (区分大小写) cat hello.txt | grep -ni yes (不区分大小写)
6、 压缩和解压类
6.1、 gzip/gunzip 指令
gzip 用于压缩文件, gunzip 用于解压的
基本语法:
gzip 文件(功能描述:压缩文件,只能将文件压缩为*.gz 文件) gunzip 文件.gz (功能描述:解压缩文件命令)
注意:当我们使用gzip 对文件进行压缩后,不会保留原来的文件。
6.2、 zip/unzip 指令
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
基本语法:
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令) unzip [选项] XXX.zip (功能描述:解压缩文件)
zip常用选项
-r:递归压缩,即压缩目录
unzip 的常用选项
-d<目录> :指定解压后文件的存放目录
案例:将/home 下的所有文件进行压缩成mypackage.zip
zip -r mypackage.zip /home/
将mypackge.zip 解压到/opt/tmp 目录下
unzip -d /opt/tmp/ mypackage.zip
6.3、 tar 指令
tar 指令是打包指令,最后打包后的文件是.tar.gz 的文件。
基本语法:
tar [选项] XXX.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明
-c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包.tar文件
案例1: 压缩多个文件,将/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 -zxvf myhome.tar.gz -C /opt/
指定解压到的那个目录,事先要存在才能成功,否则会报错。