可以先看第一篇:Linux学习基础一
-ctrl c:终止
-命令的提示符:[root@localhost~]#
-命令格式:命令 [选项] [参数]:选项用减号来调用
-man cat:查看cat命令
e.g: ls -l
ls -a:显示隐藏文件
ls -lh:人性化显示文件大小
解释:权限位 该目录下一级子目录的数量,文件的硬链接个数 所有者(属于用户,默认建立用户) 所属组(默认文件建立用户的有效组) 文件的大小(默认单位字节byte) 文件的修改或访问的最后时间 文件名
ls:显示文件;cd:进入目录 ;mkdir:建立目录;pwd:显示当前目录;rmdir:删掉空目录,一般使用rm命令;
-《同名文件同名目录不可行》
echo 文件:输出文件内容到屏幕 >>(命令重定向)
echo file1 >> file2
:把文件1的内容追加到文件2 之后
rm:删除文件的命令,rm -r:删除目录,rm -rf:强制删除,无法找回
touch:创建空文件或修改文件时间
stat:查看文件详细信息:访问,数据修改,状态更改的最后时间等。
cat:查看文件内容;cat -n:显示行号;cat -A:列出隐藏符号
more:分屏显示文件内容 b键向上翻;q键退出;空格向上翻;enter一行一行;/字符串:搜索,与vi中相同。
less:分行显示,箭头上线翻
head:显示文件头
tail:显示文件尾 tail -n:显示指定行数 tail -f:监听不退出
---- ls -idl /
:根的i节点号 长显示 只显示目录
1.硬链接:引用计数代表硬链接个数
ln /root/test /tmp/testh
源文件与硬链接文件:拥有相同的i节点号;修改任何一个都会对应的两个都改变;删任意一个文件,另一个也能用;标记不清;不能链接目录(性能消耗太大了);不能跨区。类似于一个地方两个门。
2.软链接:可以理解为windows下的快捷方式.。软链接浅蓝色,有箭头指向;引用计数不增加;
ln -s /root/test /tmp/tests
不同的i节点号和块。删除软链接,源文件不影响,删除源文件,软链接无用了。
-rm:-r 递归删除 -f 强制删除 -i 默认,交互删除
-cp:拷贝 -r 复制目录,递归复制 -i 交互 -a=-dpr:原文复制 时间也复制
-mv:剪切,移动或者重命名 -i 交互 -f 强制 不用加-r
1.man 命令
G:文件最后;g:最前面;/字符串:当前页向下翻找字符串;
1-----------9级别帮助》
man -f 和 whatis 命令 :查看级别帮助;使用whatis报错 可以 make whatis尝试。
2.info 命名
相当于一本书,可以查看命令的详解。
3.help 命令
只能获取Shell内置命令的帮助。
4.命令 --help
中文翻译命令。
1.whereis 命令与which 命令
查找二进制命令,源文件和帮助文档命令。which可以找到命令的别名。【搜索命令的命令】
2.locate 命令
只能搜文件名,按照数据库搜索,速度快,消耗资源少。【/var/lib/mlocate/mlocate.db:该数据库并不是随时更新的,updatedb强制升级数据库;vi /etc/updatedb.conf:配置文件】
3.find 命令
(1)按照文件名搜索:find 搜索位置 搜索路径 [选项] 搜索内容
-name: 按照文件名搜
-iname:不区分文件名大小写
-inum:按照inode号搜索
find . -name abc
:搜当前(.)目录文件名为abc的文件
(2)按照文件大小搜:find 搜索路径 [选项] 搜索内容
-size [+|-] :按照指定大小搜,“+”是比指定大小大的文件。。。。
(3)按照文件的修改时间搜索
访问时间(atime),修改时间(mtime),状态修改时间(ctime),时间也可以加减。
(4)按照权限搜素
-perm :还可以加减权限,只要有一个权限大,就可以找到;减号是每个身份都小才可以找到。
(5)按照所有者和所属组搜索
-uid 用户ID:按照用户ID查找所有者是指定ID的文件
-gid组ID:按照用户组ID查找所属组是指定ID的文件
-user:按照用户名是指定用户的文件
-nouser:查找没有所有者的文件
(6)按照文件类型搜索
-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件
(7)逻辑运算符
-a: and逻辑与
-o: or逻辑或
-not :逻辑非
find . -size +1k
:搜当前目录大于1k的,会搜出来大于1k的文件名和当前目录下的目录名。
find . -size +1k -a type f
:搜当前目录下大小大于1k且类型为普通文件
(8)其它选项:-exec与-ok
类似于管道符“|”,但不是文本处理,不支持管道符。
同时按下键盘上的“Shift”和“\”反斜杠键即可打出管道符
执行格式为“命令A | 命令B
”
管道命令符的作用也可以用一句话来概括“把前一个命令原本要输出到屏幕的信息当作是后一个命令的标准输入”
find用于搜索符合条件的文件名,通配符匹配,包含匹配。grep是正则,完全匹配,匹配字符串。
【通配符(完全匹配)】:
-*:全部,匹配0个或任意
-?:任意一个
-[]:匹配中括号中任意一个字符,[abc]
:或者a,或b,或者c
-[0-9]:0-9任意一个数字
-[A-Za-z]:匹配任意一个字母
-[^]:取反的意思
【正则(含有匹配)】:
-?:匹配前一个字符0次或1次,shell不认识,egrep才可以。
-*:匹配前一个字符0次或多次
上面中括号相同
-限位符:^
:行首,在括号外的,括号内的和通配符一样。
-$:行尾
grep "[0-9]$" abc
:在abc文件中,寻找0-9中数字结尾的字符。
格式:命令1 | 命令2
:管道符,文本流操作;命令1的正确输出作为命令二的输入。
分屏显示:ll -a /etc/ | more
找yum:ll /etc | grep yum
不能用find,管道符后面全是字符串。
netstat:netstat -tuln | grep 80
所有开启端口是否有80
注:这里的输出是针对屏幕显示来说的
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
是指把文件导入到命令中
是指把原本要输出到屏幕的数据信息写入到指定文件中。平常使用输出重定向的频率更高,所以又将输出重定向分为了标准输出重定向和错误输出重定向两种不同的技术,以及清空写入与追加写入两种模式。
比如说查看文件的命令,正确就会输出文件的基本信息,不然会报错,说文件或目录不存在什么的
清空写入就是不管文件里面有没有东西都删干净再写入,追加写就是在文件内容后面跟上写入
符号 | 作用 |
---|---|
命令 > 文件 | 屏幕输出的正确信息重定向到文件中,会清空文件中的内容 |
命令 >> 文件 | 屏幕输出的正确信息重定向到文件中,会追加在文件中的内容之后 |
命令 2> 文件 | 将屏幕错误输出重定向到文件中,清空写入 |
命令 2>> 文件 | 将屏幕错误输出重定向到文件中,追加写 |
命令 < 文件 | 将文件作为命令的标准输入 |
命令 << 分界符 | 从标准输入中读入,直到遇见分界符才停止 |
命令 < 文件1 > 文件2 | 将文件1作为命令的标准输入并将标准输出到文件2 |
注:对于重定向中的标准输出模式,可以省略文件描述符1不写,而错误输出模式的文件描述符2是必须要写的。**其实最常用的就是前两条了。**这部分在shell脚本里面巨好用的。
如果想把命令的报错信息写入到文件,该怎么操作呢?当用户在执行一个自动化的Shell脚本时,这个操作会特别有用,而且特别实用,因为它可以把整个脚本执行过程中的报错信息都记录到文件中,便于安装后的排错工作。