分类 Linux 下的文章

在shell中常用的特殊符号罗列如下:

#   ;   ;;      .      ,       /       \       'string'|       !   $   ${}   $?      $$   $*  "string"*     **   ?   :   ^   $#   $@    `command`{}  []   [[]]   ()    (())  ||   &&       {xx,yy,zz,...}~   ~+   ~-    &   \<...\>   +       -        %=   ==   != 

#井号 (comments)

这几乎是个满场都有的符号,除了先前已经提过的"第一行"#!/bin/bash

井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行。

- 阅读剩余部分 -

转载自: http://lisijie.org/tech/Linux%E7%BB%88%E7%AB%AF%E5%AD%97%E4%BD%93%E9%A2%9C%E8%89%B2.md

文本终端的颜色可以使用“ANSI非常规字符序列”来生成:

echo -e "033[前景;背景;光标mME 033[0m"

举例:

echo -e "\033[44;37;5m ME \033[0m COOL"

以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符 “COOL”。“e”是命令 echo 的一个可选项,它用于激活特殊字符的解析器。“033”引导非常规字符序列。“m”意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是 “44;37;5” 和“0”。修改“44;37;5”可以生成不同颜色的组合,数值和编码的前后顺序没有关系。可以选择的编码如下所示:

前景      背景       颜色
---------------------------------------
30          40          黑色
31          41          红色

32          42          绿色
33          43          黄色
34          44          蓝色
35          45          紫红色
36          46          青蓝色
37          47          白色
代码       意义
-------------------------
0            OFF
1            高亮显示
4            下划线
5            闪烁
7            反白显示
8            不可见

其他有趣的代码还有:

\033[2J          清除屏幕 
\033[0q          关闭所有的键盘指示灯 
\033[1q          设置“滚动锁定”指示灯 (Scroll Lock) 
\033[2q          设置“数值锁定”指示灯 (Num Lock) 
\033[3q          设置“大写锁定”指示灯 (Caps Lock) 
\033[15:40H       把关闭移动到第15行,40列 
\007             发蜂鸣生beep

RedHat的字体和背景颜色的改变方法:

命令:

PS1="[\e[32;1m\u@\h \W]\\$"

export PS1="[\e[32;1m\u@\h \W]\\$" 两者的区别请查看环境变量的相关资料

解释:

\e[32;1m:这就是控制字体和背景颜色的转义字符,30~37是字体颜色、40~47是背景颜色

例子中的32;1m数字的位置是可以对调的如e[1;32m,如果是在X环境下可以更换一下1的范围0~10,可能有的没用处:0或者不写(e [0;32m或e[;32m)显示浅颜色,1:显示高亮 4:加下划线…..如果改后的效果不好,但是又还原不了,那就不写m前面的数字,如e[32;m,或者直接注销再登陆

\u \h \W:这是一些转义字符,下面详细解释:

\d :代表日期,格式为weekday month date,例如:”Mon Aug 1”

\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux

\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略

\t :显示时间为24小时格式,如:HH:MM:SS

\T :显示时间为12小时格式

\A :显示时间为24小时格式:HH:MM

\u :当前用户的账号名称

\v :BASH的版本信息

\w :完整的工作目录名称。家目录会以 ~代替

\W :利用basename取得工作目录名称,所以只会列出最后一个目录

#下达的第几个命令

\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

\n :新建一行

字体并不局限于一个颜色,可以有多个颜色:

PS1="[\e[32;1m\u@\e[35;1m\h \e[31;1m\W]\\$"

以上两个命令在注销后再登陆就失效了,用下面方法使其永久生效:

vi /etc/profile 
#在“export PATH …..”下面添加一行:
export PS1=”[\e[32;1m\u@\h \W]\$” 
#注销再登陆,就成功了,如果没生效,使用source /etc/profile 命令试试,或者直接重启机器。

附上一个PHP函数,来自MicroMVC:

function colorize($text, $color, $bold = FALSE)
{
    // Standard CLI colors
    $colors = array_flip(array(30 => 'gray', 'red', 'green', 'yellow', 'blue', 'purple', 'cyan', 'white', 'black'));

    // Escape string with color information
    return "\033[" . ($bold ? '1' : '0') . ';' . $colors[$color] . "m$text\033[0m";
}

给文件创建软链接

ln -s source_file_path target_file_path // 给source_file_path创建一个到target_file_path的软链接

给文件夹创建软链接

ln -sv source_dir target_dir // 给目录source_dir创建一个target_dir目录的软链接

tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
tar -cf all.tar *.jpg

这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

tar -rf all.tar *.gif

这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

tar -uf all.tar logo.gif

这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

tar -tf all.tar

这条命令是列出all.tar包中所有文件,-t是列出文件的意思

tar -xf all.tar

这条命令是解出all.tar包中所有文件,-t是解开的意思

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 
tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2   //解压 tar.bz2
tar -xZvf file.tar.Z   //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip

总结

  1. *.tar 用 tar -xvf 解压
  2. *.gz 用 gzip -d或者gunzip 解压
  3. .tar.gz和.tgz 用 tar -xzf 解压
  4. *.bz2 用 bzip2 -d或者用bunzip2 解压
  5. *.tar.bz2用tar -xjf 解压
  6. *.Z 用 uncompress 解压
  7. *.tar.Z 用tar -xZf 解压
  8. *.rar 用 unrar e解压
  9. *.zip 用 unzip 解压