whatis grep # 简要说明grep命令的作用(显示命令所处的man分类页面)
whatis -w "gre*" #通过正则表达式匹配命令
info grep # grep命令的文档说明
# 查看命令路径
whereis grep
which grep
man
在man的帮助手册中,将帮助文档分为了9个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询bash命令,归类在1类中);man页面所属的分类标识(常用的是分类1和分类3):
(1)、用户可以操作的命令或者是可执行文件
(2)、系统核心可调用的函数与工具等
(3)、一些常用的函数与数据库
(4)、设备文件的说明
(5)、设置文件或者某些文件的格式
(6)、游戏
(7)、惯例与协议等。例如Linux标准文件系统、网络协议、ASCⅡ,码等说明内容
(8)、系统管理员可用的管理条令
(9)、与内核有关的文件
man -k keyword # 用于只记得命令部分关键字的情况的查询
man grep # 用于查询grep命令的详细用法
总结:
whatis info which whereis man
mkdir newDir # 创建目录
rm -r newDir # 删除目录,目录需要使用-r递归删除目录里的所有文件
rm newfile # 删除文件
cp -r Dir1 Dir2 # 复制目录
cp newfile newDir # 复制newfile文件到newDir目录
mv newfile newDir # 移动newfile文件到newDir目录
mv oldfilename newfilename #修改文件名,相当于移动覆盖
torch a.txt #创建一个空文本文件
vim filename.txt #使用vim打开一个文本文件,如果不存在则创建
关于vim的一些简单操作:
:wq
表示保存并退出:w
只写入:q!
强制退出在Linux中.
代表本层目录,..
代表上层目录
cd - #返回上一个工作目录
cd #返回home目录
cd ~ #返回home目录
cd path #切换到path目录
cd .. #返回上一层目录
ls #列出当前目录下的目录和文件
ls -a #列出包括.和..在内的当前目录下的文件和目录
ls -all #列出文件的详细信息
ls -l #列出文件详细信息,不包括.和..
ls |cat -n #列出文件和目录,并编号
关于文件的详细信息分别对应:
文件类型与权限 链接数 文件主 文件大小 创建或最近修改的时间 文件名
1.第一个字段中第一个字符表示文件类型,所用字符含义如下:
-:普通文件
d:目录
b:快文件
c:字符设备文件
l:符号链接文件
s:套接字文件(socket)
p:命名管道文件(pipe)
2.第一个字段的后9个字符表示文件的存取权限,各权限字符表示如下:
9个字符分别分为三组所属权限,分别是:user,group,other
r:读
w:写
x:执行。对于目录,表示可以访问该目录。
-:表示没有设置权限。
find ./ -name "*.c" #从当前目录递归查找符合正则表达式的文件
find ./ -name "mydir" -exec rm -r {} \; #查找mydir目录并删除
find是实时查找,如果需要更快的查询,可试试locate;locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库:
locate "*.c"
cat cphello.c -n #查看cphello.c文件内容,-n表示给每一行编号
more cphello.c #分页查看cphello.c文件
ls -al | more #ls将文件详细信息展示出来,| more表示把内容分页展示
head -5 cphello.c #展示前5行内容
tail -5 cphello.c #展示后5行内容
diff file1 file2 #展示两个文件不同的地方
tail -f crawler.log #动态展示最新的日志信息
egrep
相当于grep -E
egrep "[a-z]+[1-9]*" data1.txt data2.txt # 匹配data1.text和data2.text中符合正则的行
-n:输出匹配行的行号;
-c:只输出匹配的行数;
-o:只输出匹配模式的内容;
-v:反向匹配;
-l:输出包括匹配行的文件;
-L:输出不包括匹配行的文件;
-i:忽略大小写;
-e:指定多个模式;
-r:递归搜索目录下的文件;
--exclude-dir:搜索时排除指定的目录;
--exclude:搜索时排除指定的文件;
--include:搜索时只查找指定的文件;
-f:从文件中读取模式,一行一个模式;
chmod a+x data1.txt # 给data1.txt文件所有用户添加执行权限
+:添加
-:取消
a:所有用户
u:当前用户
g:组用户
other:其他用户
连接的作用类似创建文件别名,可以通过链接直接访问原文件。
软链接/符号链接:相当于windows创建了一个原文件的快捷方式。软链接本质上是一个文本文件,包含原文件的位置。从系统角度来看它们是两个文件,软链接和原文件iNode值不同。当原文件被删或者移动后,软链接失效。
#创建a.text的符号链接,a_link.text被标识为索引文件;a.text索引数未增加
ln -s a.text a_sln.text
硬链接:在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。硬链接文件和原文件的索引节点号相同,都指向了同一个文件。删除任何一个连接对另外的链接都不影响。当某文件的索引数为零时,文件才会被真正删除。
#创建a.text的硬链接,a_ln.text和原文件一样被标识为普通文件;a.txt索引数增加
ln a.text a_ln.text
图示:
不同点:
1.硬链接不可以对目录进行创建,软链接可以
2.硬链接不可以跨区跨设备进行创建,软链接可以
3.硬链接删除原文件对连接文件无影响;软链接删除原文件,链接失效。
效果展示:
|
:批处理命令连接执行;
:串联&&
:前面成功,则执行后面一条,否则,不执行||
:前面失败,则后一条执行;前面成功,后面不执行# 列出/proc下的文件成功则打印suss!否则打印failed
ls /proc && echo suss! || echo failed
# 上述代码也等效于串联代码
if ls /proc; then echo suss; else echo fail; fi
# 重定向
ls /proc >list #将列表内容重定向到list文件中
:> list #情况list文件
echo aaa >> list #将aaa重定向到list中
# 先读取a.text文件
# 对读取的文件进行查找包含AAA的部分
# 对读取的文件进行查找不包含BBB的部分
# 对这部分统计行数
cat a.text|grep AAA|grep -v BBB|wc -l
df -h #df(disk free)查看磁盘空间,-h是human缩写,比较人性化方式展示
du -h #du(disk used)对文件和目录磁盘使用的空间的查看
du -sh path #查看路径下文件总大小
du -h * #产看当前目录下所有文件大小
du -sh `ls` | sort #将ls列出的路径文件大小排序展出
# 将所有.jpg文件打包到all.tar中,-c产生新的包,-v显示过程,-f指定包的文件名
tar -cf all.tar *.jpg
-r #新增文件
-u #更新原来包里的某个文件
-f #将包里新增一个文件
tar -tf all.tar #列出包里的文件-t表示列出
tar -xf all.tar #解出包里的文件
gzip demo.txt #压缩demo.txt,生成demo.txt.gz
gunzip demo.txt.gz #解压出demo.txt
ps -ef #查询正在运行的进程
ps -ef | grep 关键字 #查找存在某关键字的运行进程
ps -u root #查询某用户进程
ps -ajx #完整展示所有的进行信息
top #实时更新进程的运行情况
kill PID#终止进程好为pid的进程
gcc -o demo demo.c #编译demo.c,生成demo可执行文件
exec ./demo #执行demo程序
./demo #也可以直接运行