Linux命令之三
一、文件相关
1、touch
用于创建空文件与修改时间戳。注意其中一个细节,假如创建的文件已经存在,则是对文件的Atime(访问时间)和Ctime(修改时间)进行修改操作。
touch a.txt
当a.txt文件不存在的时候,会创建该文件
当a.txt文件存在的时候,会更新文件的修改时间
创建多个文件
touch a b c d
直接创建四个文件a b c d
注:
touch创建的是文件,不是目录,创建目录使用mkdir。
此外,在Linux中除了一些特殊要求外,文件后缀并不重要,大多不同弄后缀格式的文件都能直接用编辑器编辑,文件名后缀并不是Linux中的特性。相反是windows的特性,后缀在windows中作为区分文件的依据,往往需要特定的编辑器去编辑相应的文件。
2、mkdir
mkdir test 创建一个test目录
mkdir test1 test2 test3 创建多个平级目录
mkdir -p test1/test2/test3 创建多级子目录,-p表示如果子目录不存在就创建
3、cp
“copy”的缩写
其功能是用于复制文件或目录
用法:cp [参数] 源文件名 目标文件名
cp a.txt b.txt 将a.txt文件复制到b.txt
如果b.txt不存在,则自动创建b.txt文件
如果b.txt 存在,则自动覆盖b.txt文件内容
cp -i a.txt b.txt 若目标文件b.txt已存在,则会询问是否覆盖b.txt文件
cp a.txt b.txt test
将a.txt b.txt复制到一个test目录
注:
要求a.txt 、b.txt、test这些文件和目录都是存在的
cp -r test1 test2
复制test1文件及其内容到test2目录中(-r recursion 递归复制所有子文件)
如果test2目录不存在,则创建test2并把test1目录中的内容复制进去,不包含test1目录
如果test2目录存在,则把整个test1目录及其内容全都复制到test2中,包含test1目录
cp -r test test4/temp
把test目录复制到test4目录中,并且修改目录名字为temp
注:
test4目录必须存在
4、
mv
mv a.txt test 将a.txt移动到test目录中
同时移动多个文件到目录中 mv a.txt b.txt c.txt test
修改一个文件的名字,将a.txt改为b.txt
mv a.txt b.txt
注:
在Linux中没有像windows一样的重名名操作,我们在移动文件时只是改变的其逻辑的目录结构,实际的文件位置并未改变。移动映射的逻辑结构树同样能取得重名命类似的操作。
mv dir1 dir2
(dir1和dir2为目录)
dir2不存在时,操作的是修改dir1目录的名字
dir2存在时,是将一个dir1目录移动到dir2目录中
5、rm
rm a.txt 删除一个a.txt文件
同时删除多个文件 rm a b c d
删除test空目录 rmdir test (如果目录非空,则报错)
rm -r test 删除非空目录,并且删除前确认
强制删除非空目录 rm -r -f test 或者 rm -rf test
6、tar
tar -cvf work.tar a b c test1 test2
把指定文件和目录 a b c test1 test2进行归档(也就是压缩)到work.tar中
tar -xvf work.tar -C dir1
解除归档(解压)文件到指定目录dir1中
二、查看内容
1、cat
cat a.txt 显示a.txt文件中的所有内容
cat a.txt b.txt > c.txt 把a.txt和b.txt的内容合并到c.txt中
cat /dev/null > c.txt 清空c.txt文件内容
注:
,/dev/null(空设备文件或黑洞文件)是一个特殊的设备文件,所有写入其中的数据,都会被丢弃。借此特性,/dev/null常被用于丢弃不需要的数据输出,或作为用于输入流的空文件。
2、more
more /etc/passwd 使用more命令查看/etc/passwd文件内容
more和cat类似,也是查看内容的命令,但more命令可以一点点显示容,
而非一次全显示出来。
3、less
less也是用于分页显示文件内容。能与more命令类似,more命令只能从前向后浏览文件内容,而less命令更加灵活,不仅能从前向(PageDown键),还可以从后向前(PageUp键)浏览文件内容。
4、echo
回显命令,常用来提取质变量值
echo [参数] 字符串或$变量名
echo $PATH 提取PATH的值
三、查找命令
1、grep
"global search regular expression and print out the line"的缩写
全面搜索的正则表达式,并将结果输出。通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,十分灵活。
grep [参数] 文件名
grep root /etc/passwd 搜索passwd文件中含有root的信息
grep ^root /etc/passwd 搜索passwd文件中以root关键词开头的行
2、find
根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式
语法格式:find [路径] [条件] 文件名
find / -name *.java
全盘搜索系统中所有以.java结尾的文件
总结
以上仅仅是整理出来的一小部分命令,不过都是经常使用的命令。
在文件编辑器现在常使用的是vi去查看编辑,vi对于新手来说确实
不够友好,相对复杂,我会单独写一遍vi入门使用。其次在使用查找
命令时往往会结合特殊符号去构成正则表达式来使用,非常灵活,也是
需要进阶学习的内容。
推荐一个Linux命令大全(手册)的链接:
https://www.linuxcool.com/