linux 常用操作指令(二)
文件目录类
pwd
显示当前工作目录的绝对路径
实例:pwd
(显示当前工作目录的绝对路径)
ls
基本语法:ls【选项】【目录或是文件】
常用选项:-a (显示目录下所有的文件和目录,包括隐藏的)
常用选项:-l (以列表的形式显示信息)
实例:ls -al
(以列表形式显示,当前目录下所有的文件和目录,包括隐藏的)
cd
切换目录
基本语法:cd【参数】
实例:cd /home
(切换到home目录下)
实例:cd ~
或者 cd :
(回到自己家目录)
实例: cd ..
(返回上级目录)
mkdir
创建目录(make directory)
基本语法:mkdir 【选项】要创建的目录
常用选项:-p (创建多级目录)
实例:mkdir /home/dog
(在home目录下创建dog目录)
实例:mkdir -p /home/animal/dog
(在home目录下创建多级目录animal/dog)
rmdir
删除空目录
基本语法:rmdir 要删除的空目录
实例:mkdir /home/dog
(在home目录下创建dog目录)
rmdir只能删除空目录,要删除非空目录,可使用 rm -rf 要删除的目录
指令
touch
创建空文件
基本语法:touch 文件名称
实例:touch hello.txt
(创建空文件 hello.txt)
可同时创建多个文件 touch hello1.txt hello2.txt
cp
拷贝文件或文件夹到指定目录
基本语法:cp 【选项】source(拷贝源) dest(目标目录)
常用选项:-r (递归复制整个文件夹)
实例:cp test.txt b/
(拷贝文件test.txt到b目录)
cp -r a/ b/
(拷贝文件夹a及其子文件夹和文件 到b目录)当目标目录下有相同文件,会提示是否覆盖
\cp -r a/ b/
(拷贝文件夹a及其子文件夹和文件 到b目录)\cp 直接强制覆盖已存在的文件,不提示
rm
删除指定文件或文件夹
基本语法:rm 【选项】要删除的文件或文件夹
常用选项:-r (递归删除整个文件夹) -f(强制删除不提示)
实例:rm test.txt
(删除文件test.txt)
rm -r a/
(删除文件夹a及其子文件夹和文件)会提示是否删除
rm -rf a/
(删除文件夹a及其子文件夹和文件)直接强制删除,不提示
mv
移动指定文件与文件夹或重命名
基本语法:mv 旧名字 新名字(重命名)
基本语法:mv /remp/movefile /targetFloder (移动文件)
实例:mv a.txt b.txt
(把 a.txt 重命名为 b.txt)
mv a.txt b/
(把 a.txt 移动到目录b)
mv a/ /root/
(把目录a移动到目录root下)
cat
查看文件内容(以只读的方式)
基本语法:cat 【选项】要查看的文件
常用选项:-n 显示行号
实例:cat -n /etc/profile
(查看etc目录下 profile 文件)
实例:cat -n /etc/profile | more
(查看etc目录下 profile 文件)分页显示,按空格键翻页,按enter逐行查看
more
是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
基本语法:more 要查看的文件
实例:more /etc/profile
(查看etc目录下 profile 文件)
操作 | 功能说明 |
---|---|
空格键 | 向下翻一页 |
enter键 | 向下翻一行 |
q | 离开more不再显示该文档 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行号 |
less
是用来分屏查看文件内容,它的功能与more
指令相似,但比more强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后显示,而是根据显示需要加载内容,对显示大型文件具有较高效率。
基本语法:less 要查看的文件
实例:less /etc/profile
(查看etc目录下 profile 文件)
操作 | 功能说明 |
---|---|
空格键 | 向下翻一页 |
enter键 | 向下翻一行 |
PageDown键 | 向下翻一页 |
PageUp键 | 向上翻一页 |
/字串 | 向下查找【字串】功能;n:向下查找,N:向上查找 |
?字串 | 向上查找【字串】功能;n:向下查找,N:向上查找 |
q | 离开less这个程序 |
>
指令,输出重定向,会将原来的文件内容覆盖
>>
指令,追加,不会覆盖原来的文件内容,追加到文件的尾部
基本语法:
ls -l >test.txt
(列表的内容写入到test.txt中,覆盖)ls -l >>test.txt
(列表的内容追加到test.txt的末尾,原来text.txt的内容不会被覆盖)cat 文件1>>文件2
(将文件1的内容覆盖高文件2)echo "内容" >> 文件
(将内容追加到文件末尾)
echo
指令,输出内容到控制台
基本语法:echo【选项】【输出内容】
实例:echo $PATH
(echo输出环境变量$PATH 路径)
实例:echo "hello world!"
(在控制台输出hello world!)
head
用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法:head 【选项】 文件
实例:head test.txt
(显示 test.txt文件前10行)
实例:head -n 5 test.txt"
(显示 test.txt文件前5行)
tail
用于显示文件的尾部内容,默认情况下tail指令显示文件的后10行内容
基本语法:tail 【选项】 文件
实例:tail test.txt
(显示 test.txt文件后10行)
实例:tail -n 5 test.txt"
(显示 test.txt文件后5行)
最常用的是,实时监控文件:tail -f test.txt"
(实时追踪 test.txt 的所有更新,Ctrl+C退出)
ln
软链接,类似于windows里面的快捷方式
基本语法:ln -s【原文件或目录】 【软链接名】
实例:ln -s /root linkToRoot
(创建一个软链接linkToRoot,链接到/root 目录)
实例:rm -rf linkToRoot"
(删除软链接,软链接后面不要带 /)
history
查看已经执行过的历史命令,也可执行历史命令
基本语法:history
实例:history
(显示所有的历史命令)
实例:history 10
(显示最近使用过的10个指令)
实例:!206
(执行编号为206的历史指令)
时间日期类
date
基本语法:显示当前日期时间
date
(显示当前时间)date +%Y
(显示当前年份)date +%m
(显示当前月份)date +%d
(显示当前那一天,几号)date "+%Y-%m-%d %H:%M:%S"
(显示当前年月日,时分秒)
基本语法:date -s 时间字符串(设置时间日期)
实例:date -s "2018-6-30 10:10:10"
(设置当前为2018-6-30 10:10:10)
cal
查看日历 calendar
基本语法:cal【选项】(默认显示本月日历)
实例:cal 2018
(显示2018年的日历)
搜索查找类
find
从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:find【搜索范围】【选项】
选项 | 功能 |
---|---|
-name | 按照指定文件名查找模式,查找文件 |
-user | 查找属于指定用户名所有的文件 |
-size | 按照指定文件大小查找模式,查找文件 |
实例:find /var/ -name messages
(在 var 目录下面查找messages文件,显示的是文件的位置)
实例:find / -name *.txt
(在根目录下面查找 txt 文件)
实例:find -user root
(在当前目录下,查找属于root的文件)
实例:find / -size +20M
(在根目录下,查找大于20M的文件)(+n 大于 -n 小于 n等于)
locate
可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为保证查询结果的准确度,管理员必须定期跟新locate时刻。
基本语法: locate 搜索文件(由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。)
实例:updatedb
(创建locate数据库)
实例:locate test.txt
(查找 test.txt 文件)
grep
指令和管道符号 |
grep
过滤查找; 管道符|
表示将前一个命令的处理结果输出传递给后面的命令处理。
基本语法:grep【选项】查找内容 源文件
常用选项:-n(显示匹配行及行号) -i(忽略字母大小写)
实例:cat test.txt | grep -n yes
(在 test.txt 文件中查找 “yes” 所在行,并显示行号)
实例:cat test.txt | grep -ni yes
(忽略字母大小写)
压缩和解压类
gzip
指令和 gunzip
指令
gzip
用于压缩; gunzip
用于解压
基本语法:gzip 文件 (只能将文件压缩为 *.gz
文件)
基本语法:gunzip 文件.gz (解压文件命令)
实例:gzip test.txt
(压缩 test.txt 文件,生成了test.txt.gz,原来的 test.txt 文件不保留)
实例:gunzip test.txt.gz
(解压 test.txt.gz ,不保留 test.txt.gz)
zip
指令和 unzip
指令 (常用)
zip
用于压缩; unzip
用于解压
基本语法:zip 【选项】xxx.zip 将要压缩的内容(压缩文件和目录)
基本语法:unzip 【选项】xxx.zip (解压缩文件)
zip常用选项:-r (递归压缩,即压缩目录)
unzip常用选项:-d (指定解压后文件的存放目录)
实例:zip -r test.zip /home/
(将整个 home 目录 压缩成 test.zip)
实例:unzip -d /opt/tmp/ test.zip
(解压 test.zip ,到 /opt/tmp/ 下)
tar
指令是打包指令
基本语法:tar【选项】xxx.tar.gz 打包的内容(打包目录,压缩后的文件格式为 .tar.gz)
常用选项:
选项 | 说明 |
---|---|
-c | 产生.tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar 文件 |
实例:tar -zcvf test.tar.gz test1.txt test2.txt
(压缩多个文件,将test1.txt 和test2.txt 压缩打包到 test.tar.gz)
实例:tar -zcvf test.tar.gz /home/
(将home目录下所有目录和文件压缩打包到 test.tar.gz)
实例:tar -zxvf test.tar.gz
(将test.tar.gz 解压到当前目录)
实例:tar -zxvf test.tar.gz -C /opt/
(将test.tar.gz 解压到 /opt/ 目录,解压到的目录要存在,否则报错)