Linux基础操作命令
所有的文件或者目录的位置路径可为相对路径(相对于当前操作目录位置),也可为绝对路径(从根目录开始的路径)
cd命令
功能:切换正在操作的目录
基础格式:cd 目标位置路径
选项
cd / 切换至根目录
cd .. 切换至上一级目录cd
cd - 打印并切换至上一次操作的目录
cd ~ 当前用户的家目录(cd ~用户名 进入对应用户的家目录)
ls命令
功能:打印出目录内容
基础格式:ls 目录路径
选项
ls -a 显示包括隐藏文件在内的所有内容 ls -l 显示详细信息(ll)
pwd命令
功能:显示当前工作目录
基础格式:pwd
选项
pwd -P 显示物理路径
cat命令
功能:显示文件的内容
基础格式:cat 文件路径
选项
cat -A 显示所有包括隐藏字符在内的内容
cat -n 显示行号
(cat 还可用作合并多个文件,这个在后面的重定向总结)
less命令
功能:相较于cat为一次性打印出文件的所有内容,less命令打印结果分页,进入less分页界面后,按enter键显示下一行,按空格键显示下一页,按q退出
基础格式:less 文件路径
选项
less +行数 文件路径,从输入的行数开始打印内容
less +1/字符串 文件路径,从文件中的指定字符串开始打印内容
more命令
功能:相较于上面的less命令,more命令可以以分页的形式,打印更大文件的内容结果,操作上也与less命令一致
基础格式:more 文件路径
选项
more -行数 文件路径,每页只打印指定行数内容
head命令
功能:显示一个文件的前n行,如果不给参数默认为10行
基础格式:head -n 行数 文件路径,也可以直接使用 head -行数 文件路径
tail命令
功能:显示一个文件的后n行,如果不给参数默认为10行
基础格式:tail -n 行数 文件路径,也可以直接使用tail -行数 文件路径
touch命令
功能:创建新的文件
基础格式:touch 文件名.txt,如果创建多个则可touch 文件名1.txt 文件名2.txt,或者touch{文件名1.txt,文件名2.txt}
mkdir命令
功能:创建新的目录
基础格式:mkdir 目录名
选项
mkdir -p 父目录/子目录,可递归创建多个目录
cp命令
功能:拷贝文件,复制文件或者目录
基础格式:cp 文件名.txt 目标目录路径,cp 目录名 -r 目标目录路径
选项
cp -p 保留文件属性(原文件的时间)
mv命令
功能:移动或者更名现有的文件或者目录
基础格式:
对于文件:
移动:mv 文件名1.txt 目录名,移动多个文件:mv 文件名1.txt 文件名2.txt 目录名
更名:mv 文件名1.txt 文件名2.txt
对于目录:
mv 目录名1 目录名2,如果目录2存在,则将目录1直接剪切进目录2
如果目录2不存在,则将目录1改名为目录2
选项
mv -i 文件名1.txt 文件名2.txt,如果文件名2.txt已经存在,那么将询问是否覆盖,如果不加-i,也是默认询问
mv -f 文件名1.txt 文件名2.txt,如果文件名2.txt已经存在,那么不询问,直接覆盖
rmdir命令
功能:删除目录,但是不能删除非空目录
基础格式:rmdir 非空目录名
rm命令
功能:删除目录或者文件
基础格式:rm 文件名,对于目录,rm 目录名 -r,会删除目录及其目录下的所有文件和目录
选项
rm -f 无需确认,强制删除
echo命令
功能:打印指定内容
基础格式:echo 需要打印出来的内容
(echo可结合重定向对文件进行基本的追加输入或者内容覆盖,这个也到重定向总结)
Linux的其他基础操作与命令
防火墙的开启与关闭
查看防火墙状态:systemctl status firewalld.service
关闭防火墙:systemctl stop firewalld.service
开启防火墙:systemctl start firewalld.service
VIM基本操作与命令
vim总共分为三种工作模式,分别为命令模式,插入模式和编辑模式,在命令行输入vim 文件名即可进入对于文件内容的编辑
命令模式
又称为一般模式,进入vi编辑器后默认为命令模式,不管出于什么模式下,按esc可回到命令模式
常见的命令模式下使用的命令:
nx 删除光标所在处向后的n个字符
dG 删除光标所在的一行一直到文件内容最后的所有内容
D 删除光标所在位置到该行末尾的文件内容
nyy 复制当前以下n行内容
ndd 剪切当前以下n行内容(只剪切不粘贴就是删除)
p 粘贴在当前光标所在行下
P 粘贴在当前光标所在行上
输入模式
在命令模式下按下输入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入输入模式,在输入模式下就可以对文件内容进行修改编辑
常见的进入输入模式的命令(i a o):
a 在光标后附加文本
A 在本行行末附加文本
i 在光标前插入文本
I 在本行开始插入文本
o 在光标下插入新的一行插入文本
O 在光标上插入新的一行插入文本
编辑模式
在命令模式下输入冒号(shift+分号键)即可进入编辑模式,编辑模式又称为末行模式,此时会在文件最后一排显示一个冒号作为末行模式的说明符,等待输入命令
常见的编辑模式下使用的命令:
:w 保存文件内容
:w 新文件名,另存为新文件
:wq 保存文件内容并退出
:q! 不保存文件内容并强制退出
:wq! 文件拥有者可无视文件只读属性,保存并退出
重定向
重定向基本形式为: > 覆盖重定向 >> 追加重定向
其作用为将前方命令的输出写入后面的文件中,作为文件的内容
基础用法示例:
[root@localhost 1]# cat 11.txt //显示文件11内容
1
[root@localhost 1]# echo 222 > 11.txt //打印出222,将结果222覆盖写入文件11
[root@localhost 1]# cat 11.txt
222
[root@localhost 1]# cat 11.txt
222
[root@localhost 1]# echo 333 >> 11.txt //打印出333,将结果333追加写入文件11
[root@localhost 1]# cat 11.txt
222
333
与cat用法结合,可以将多个文件合并:
[root@localhost 1]# cat 11.txt
hello
[root@localhost 1]# cat 22.txt
world
[root@localhost 1]# cat 3.txt
1
2
[root@localhost 1]# cat 11.txt 22.txt >> 3.txt
[root@localhost 1]# cat 3.txt
1
2
hello
world
文件的打包,压缩与解压缩
gzip命令
功能:用于文件的压缩与解压缩
基础格式:gzip 文件名
选项
gzip -d 压缩包文件名.gz,解压该压缩包
gzip -c 在压缩文件的同时,会有一个标准输出,可以结合重定向,保留源文件,具体看示例
示例:
[root@localhost 1]# ls
1.txt 2.txt 3.txt s1 wen1
[root@localhost 1]# gzip -c 1.txt > 1.txt.gz
[root@localhost 1]# ls
1.txt 1.txt.gz 2.txt 3.txt s1 wen1
利用重定向将-c的标准输出导入指定文件,就可以保留源文件的同时完成压缩或者解压缩
gzip -v 显示文件的名字和压缩比例
gzip -n 指定文件的压缩等级,n=1至9,n为9压缩比例最高,默认压缩比为n=6
tar命令
功能:实现文件的打包与解包
示例:
对文件进行打包:tar -cf test.tar 1.txt 2.txt
对文件进行解包:tar -xf test.tar
利用gzip对打包好的文件进行压缩:gzip test.tar,得到test.tar.gz,为两文件的打包后的压缩包
也可以利用-z(利用gzip压缩或者解压)一步到位
[root@localhost s1]# ls
1.txt 2.txt
[root@localhost s1]# tar -czf test.tar.gz 1.txt 2.txt//以gzip方式打包并压缩为指定文件
[root@localhost s1]# ls
1.txt 2.txt test.tar.gz
反过来也可以一步得到打包并压缩的文件的多个源文件
[root@localhost s1]# ls
test.tar.gz
[root@localhost s1]# tar -xzf test.tar.gz//以gzip方式解压并解包
[root@localhost s1]# ls
1.txt 2.txt test.tar.gz
再加上-v可显示详细信息
在最后加上-C 指定路径,可以解压到指定的路径
结合前面的选项,我们可以使用的版本:
[root@localhost s1]# ls
1122 test.tar.gz
[root@localhost s1]# tar -zxvf test.tar.gz -C 1122
1.txt
2.txt
[root@localhost s1]# cd 1122
[root@localhost 1122]# ls
1.txt 2.txt
管道操作
将前方命令的输出,传递给后面的命令作为后面命令的参数的一部分
举例:
[root@localhost 1]# head -3 1.txt
1
2
3
[root@localhost 1]# head -3 1.txt | tail -1
3
查看文本的前三行的基础上,将这个结果向后传递,在此基础上查看最后一行,就得到了如上结果,由此可得,想查看文件的第6到9行,便可以
[root@localhost 1]# head -9 1.txt | tail -4
6
7
8
9
查看文件前九行的基础上,查看最后的四行,就是总文件的6到9行了
grep命令
功能:在文件中筛选查找指定内容
基础格式:grep 查找内容 文件路径
选项
grep -n 输出查找内容的行数
grep -w 精确匹配
精确匹配示例:
[root@localhost 1]# grep 1 1.txt
1
10
11
[root@localhost 1]# grep 1 -w 1.txt
1
grep -i 忽略大小写匹配
grep -v 反向选择匹配
反向选择示例:
[root@localhost 1]# grep 1 1.txt
1
10
11
[root@localhost 1]# grep 1 -v 1.txt
2
3
4
5
6
7
8
9
补充:以字符串word开头^word,以字符串word结尾word$
示例:
[root@localhost 1]# grep ^1 1.txt
1
10
11
[root@localhost 1]# grep 1$ 1.txt
1
11
find命令
功能:在目录中进行递归式查找,包括隐藏文件
基础格式:find 查找目录 查找条件
选项
find -type(f,d,l)(f:文本文件,d:目录,l:快捷方式)
[root@localhost 1]# find /1 -type d
/1
/1/wen1
/1/s1
/1/s1/1122
find -name 查找名称
[root@localhost 1]# find /1 -name "1.txt"//需要查找的名称用双引号括起来
/1/s1/1122/1.txt
/1/1.txt
find -size(k,M,G)按照大小查找
[root@localhost 1]# find /1 -size -2k//小于2kb的所有文件和目录
/1
/1/2.txt
/1/wen1
/1/s1
/1/s1/test.tar.gz
/1/s1/1122
/1/s1/1122/1.txt
/1/s1/1122/2.txt
/1/22.txt
/1/11.txt
/1/3.txt
/1/1.txt
find -mtime 根据修改时间查找(以天为单位),find /1 -mtime +1 为1天之前的数据,find /1 -mtime -5 为最近5天之内的所有数据
find的其他用法
find 查找目录 查找条件 -exec 处理命令 {} \;
例:find /1 -size -10k -exec cp{} /dev \,将1目录中所有小于10k的文件全部拷贝到/dev中