bash 杂项
一. 用dircolors 命令 修改ls 的颜色值1. 用dircolors --help, 先看看帮助2. 生成当前颜色设置:命令 dircolors -p .dir_colors3. 修改颜色设置。生成的 .dir_colors 是一个文本文件 你可以修改它的颜色设置4. 导入修改的颜色。看一下.bashrc 中 是否有这句话。没有就加上test -r ~/.dircolors eval $(dircolors -b ~/.dircolors) || eval $(dircolors -b)重新启动控制台 使设置生效。二使bash 大小写不敏感。在家目录下书写.inputrc 文件。加上选项set completion-ignore-case on那个长选项可以用 bind -v 查看名称ls 有用的用法ls -F , 分类classfy, 目录以/标示ls --colorautols -t, sort by modify time, newest firstls -S, sort by size-r 是排序取反选项-h human readable控制台系统提示信息中文显示乱码 将语言设置为英文。 export LANGen_US修改控制台字体: sudo dpkg-reconfigure console-setup切换到控制台或图形界面: ctrl-alt-f1, f2, f3...f6, alt-f7linux 查询几个终端登录。w, who, whoamilinux 查询自己登录的终端。tty一句话问题及答案man -k 的意思. 是在条目中查找。 条目就是在名称及说明中查找匹配项。安装module 时传递参数, 采用键值对方式: keyvalue/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的.排定tcp端口被哪个程序占用, 注意要用root 查看,才能显示出pid/programnetstat -antp 21|grep port查询程序占用了哪些端口lsof -Pc program |grep -i listen查询进程树pstree -p-----------------------------------------------------------Bash ReadLine 技巧------------------------------------------------------------第一招使用以前的命令行参数a.直接按 M-.(Alt 加句号) 就是调用了 yank-last-arg 函数把上一条命令的最后一个参数放在命令行上。可以连续按b. M-1 M-.(把上一条命令的第一个参数放在命令行上), 可以连续按向上找c.将敲错的字符串存入命令行历史而不执行如果按了 Ctrl-u 则删除了所有输入的东西。可惜啊如果按 M-#(实际上就是 Alt-Shift-3)那么 Bash 就会在字符串最开头插入一个 # 这样命令就被作为一行注释载入了历史,但是用M-. 不能获取到参数因为它是comment, comment begin 默认是#第二招补全命令名文件名和变量名tab 键 在命令行上是自动补全。但是它的智能性并不高。例如: man xxxx, 它会把xxxx 当成文件名称来不全此时你需要的是命令补全。(M-!)echo $XXXX, 此时你需要变量补全 (M-S)----------------------------------------grep --include 使用技巧----------------------------------------grep -rn searching-text --include*.h --include*.c .可以用以下简写替代grep -rn searching-text --include*.[hc] .这个技巧叫做grep 支持glob 展开.*.[abcd] glob 可以匹配*.a, *.b, *.c, *.d.grep -rn searching-text --include*.{h,cpp} .这个技巧叫做bash 预展开. 你可以用ls *.{h,cpp} 看看效果.注意 *.{h,cpp} 不能加单引号或双引号bash 的花括号展开还有如下形式. echo {1..10} echo {a..z}试一下vim {1..5}.txt 将会同时打开1.txt,2.txt,3.txt,4.txt,5.txt 很强大----------------------------------------查找目录下可执行文件:ls -F|grep *查找目录下目录:ls -F|grep /$--------------------------------------------------------------------------------ls 是彩色输出 但ls 1.txt, 重定向到1.txt,打开1.txt, 却看不到彩色信息why?----------------------------------------答 彩色是bash 之功 就像man page 是单色的但用vim 看 man page 却可以用彩色一样。是程序根据其属性加上了颜色.----------------------------------------linux 下pause 命令: read -n 1--------------------------------------------------------------------------------linux 磁盘卷标的设置和查看----------------------------------------$ sudo e2label /dev/sdb1 UDISKe2label: 超级块中的幻数有错 尝试打开 /dev/sdb1 时/dev/sdb1 有一个 vfat 文件系统此时应该用dosfslabel 工具$ sudo dosfslable /dev/sdb1 UDISK可见,修改卷标要根据u盘的文件系统类型来决定使用何种工具.ext2,ext3,ext4 用e2labeldos,fat,vfat 用dosfslabel查看磁盘卷标:$ sudo blkid 即可除label外,还能看到type, UUID等信息----------------------------------------bash 的 8大扩展----------------------------------------1. 波浪号扩展2 大括号扩展 {}3. 参数变量扩展 $ ${}4. 命令替换 $() 5. 算术扩展 $(())6. 单词拆分 IFS 空白分割7. 文件名 glob 扩展 * ? []8. 引号去除 \进程替换 (cmd) (cmd) 属于可选扩展