这种东西也需要懂么。。。
看过就忘记了。。。以后只用terminal就记得住了
echo *** 输出
chmod +rwx 文件名
cat > 文件名 #编辑小文件
CTRL + D #退出命令行编辑状态
who #当前登陆的用户信息
管道符号 | # 将前一条的结果作为后面的输入
wc 输出文件字数,字节数 wc -l表示输出文件行数
e.g. who | wc -l #输出当前linux服务器登陆的用户数量
tty #表示terminal...
stty -echo (echo) #关闭(打开)自动打印输入字符串的功能
set -x #跟踪并打印执行的指令
set +x #关闭打印执行的指令
正则表达式
\ # 转义字符
. # 单个字符匹配
* # 匹配n个字符
+ #(ERE) 和*相比,+匹配的是前面正则表达式的1-n个实例
^ # ^ab匹配以ab开头的字符串
$ # $ab匹配ab结尾的字符串
[...] # 里面的东西是or的意思 [a-bA-Z0-9!]表示所有的大小写字母,数字和感叹号。[^abc]表示a、b、c之外的所有字符。[Tt]om,可以匹配Tom和tom。
\{n,m\} #前面的字符重复n到m次, ab\{2,4\}表示abb, abbb, abbbb; ab\{2\}表示abb, ab\{2,\}表示abb, abbb等
{n, m} #(ERE) 功能同上
\(...\) #这个不懂
? (ERE) #匹配0个或者1个字符
| (ERE) #匹配前或者后
[:alpha:] #匹配字母字符
[:alnum:] #匹配字母和数字字符
[:blank:] #匹配space和Tab
[:cntrl:] #匹配控制字符
[:digit:] #匹配数字字符
[:graph:] #匹配非空格字符
[:lower:] #匹配小写字母字符
[:upper:] #匹配大写字母字符
[:punct:] #匹配标点字符
[:space:] #匹配whitespace字符
[:xdigit:] #匹配十六进制数字
\w #匹配任何字母和数字组成的字符,等同于[[:alnum:]_]
\W #匹配任何非字母和数字组成的字符,等同于[^[:alnum:]_]
\<\> #匹配单词的起始和结尾 \<read匹配readme,me\>匹配readme。
CUT
cut -d 分隔符 -f 取那些字段 文件
e.g.
cut -d : -f 1,5 /etc/passwd #取用冒号分隔的1和5字段
cut -d : -f 3- /etc/passwd #从第三个字段开始显示,直到最后一个
cut -c 1-4 /etc/passwd #取每行的前1-4个字符。
cut -c-4 /etc/passwd #取每行的前4个字符。
cut -c4- /etc/passwd #取每行的第4个到最后字符。
cut -c1,4 /etc/passwd #取每行的第一个和第四个字符。
cut -c1-4,5 /etc/passwd #取每行的1-4和第5个字符。
计算行数、字数已经字符数
Linux提供了一个简单的工具wc用于完成该功能,见如下用例:
/> echo This is a test of the emergency broadcast system | wc
1 9 49 #1行,9个单词,49个字符
/> echo Testing one two three | wc -c
22 #22个字符
/> echo Testing one two three | wc -l
1 #1行
/> echo Testing one two three | wc -w
4 #4个单词
/> wc /etc/passwd /etc/group #计算两个文件里的数据。
39 71 1933 /etc/passwd
62 62 906 /etc/group
101 133 2839 总用量
提取开头或结尾数行
head -n 5 /etc/passwd #显示输入文件的前五行。
tail -n 5 /etc/passwd #显示输入文件的最后五行。
如果使用者想查看不间断增长的日志(如服务程序输出的),可以使用tail的-f选项,这样可以让tail命令不会自动退出,必须通过CTRL+C命令强制退出,因此该选项不适合用于Shell脚本中,见如下用例:
tail -f -n 5 my_server_log