您的位置:首页 > 运维架构 > Linux

(转)一些易忘的linux知识点

2011-05-05 21:16 309 查看



  一些易忘的linux知识点 收藏

 
0, 复习已经学过的Linux知识,整理了些容易忘掉了的放这
 1, 命令行中一次可以输入多个命令,中间以分号号隔开
 2, 命令过长可以用'/'(backslash)断开写到多个物理行上
 3, I/O重定向的书写顺序是重要的,系统从左向右扫描命令行
 4, 管道是一种特殊的I/O重定向
 5, tee三通管式命令 tee filename
 6, 无字符[...]中例举时无需空格隔开,区分大小写
 7, ls命令后面可以跟着多个要查看的文件
 8, echo 后面的引号等会被忽略,除非明确转义
 9, 双引号不能转义! $ ' / { }这些字符,单引号则可以
10, 命令历史保存在$HOME/.bash_history文件中
11, fc -s 命令等价于!! 等价于!!-1
12, history -c 清空历史命令
13, alias 命令中的等号左右不能有空格 取消别名可用unalias命令
14, jobs fg bg kill &命令用于多任务调度
15, 系统源代码保存在/usr/src中
16, linux对文件名没有强加任何约定,也不会对扩展名有任何解释
17, od命令用于解读二进制文件,默认用8进制显示
18, 硬连接要求两个链接文件在同一个文件系统中,而符号链接则没这要求
19, 三种创建文件的方法:touch , >file ,echo >file
20, ls -k 用于指定大小以KB为单位,-R则指定递归显示
21, Ctrl + V可以用来代表一个控制字符 如 mv fi^Vabc^Vdkf .. 当然也可以用单引号
22, cat命令还可以用来合并文件 eg: cat chap1 chap2 chap3 > usrfile
23, more和less的一些命令键: iSpace, iEnter, id(上半) , iu(下半) , if, ib(more only) h(help)
24, head tail默认10行,可以显式指明行数head|tail -|+12 file tail -f file动态显示
25, cp,mv,rm : -i 提示 -f 强制 -r(rm没有)递归 文件,文件夹都适用
26, ln 用于建立链接 -s命令指明软链接(符号链接)
27, find ,grep后面都跟正则表达式 find 起始目录 文件 -exec 命令{} /+|; {}代表搜索结果
28, grep -inv patten file i:ignorecase n:显示行号 v:取反,不包含
29, 正则表达示: .单字符 +至少一个字符 /转义 ^$空行
30, sort -nkr n按数字 k关键列(-k5) r反序(大->小)
31, vi中shift+zz 等同于 Esc+:+wq!+Enter fedora:alias vi=vim
以下Shell编程方面
32, 系统每打开一个进程都会执行~/.bashrc文件,可以被用户用来作一些功能的初始化
33, $?最近一次出口状态;$#位置参数个数(不包括$0) ; 9以后要大括号:${10} ;$$进程号;$_先前执行的命令的最后一个参数
34, #!作为shell标志码,通常写在程序开头,=号两边没空格,环境变量用冒号分开
35, RANDOM , CDPATH, OLDPATH,PWD,PATH变量
36, 间接引用: res=${!var}或eva res=/$${var}
37, ${var},${var:+|-|=value},${var#|##|?|??Pattern},unset命令
38, exec内部命令两个功能:I/O重定向(不结束当前进程),执行不创建进程的命令(结束当前进程)
39, read 命令将多余的数据全给最后一个参数,-s,-p(prompt) ,-n选项
40, set -- 后面未给出任何选项则清除所有位置变量,unset用于清除定义过的变量
41, let语句中未句引号,表达式之间不能有空格; (())可以有空格,也不必加引号,且返回值即其中的变量
42, Base#NUmber表示以Base为底的数,Base取自2~64
43, 命令替换: $(command)或`command`,在echo中用命令替换要加双引号,否则会丢掉输出数据后的换行
44, 进程替换:<(command) , >(command) eg: diff <(ls -l doc1)  <(ls -l doc2)
45, test语句:[],[[]]两边至少留一个空格,[]中需要转义,[[]]不必.
46, 文件属性测试表达式:-a,-rwx,-fdcbpL(uppercase),-nt(newer than) -ot(older than) !逻辑非
47, 字符串测试表达式: -z(zero) "! -z"(最好加引号), -n(字符串必须加引号) = < > != (无空格)
48, 整数测试表达式:-eq -ne -gt -lt -ge -le eg: [[ "123" -eq "123" ]] 返回0(true)
49, 逻辑运算符: ( exp ) , ! exp  ,-a(&&), -o(||) 字符串比较时空值加引号,否则被忽略
50, ~+等价于$PWD ~~等价于$OLDPWD eg: echo ~+
51, case分支语句中的最后一个语句可以不加;; ,以esac标志结尾
52, for,select语句中若没有in语句,则接受命令行位置参数作参数表.
53, break
, continue
语法功能类似于c/c++ 跳出外部第n层 break相当于break 1
54, shell脚本中 ^[ 表示 Esc;  here文档可用:来注释
55,shell函数中左右小括号之间不能有空格。左右花括号若在同一行,则前后要有两个空格,同时每个语句后除了一个分号还必须至少有一个空格。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息