文章目录
目录区别
根目录 根目录只有一个,那就是/
宿主目录(家目录) 主目录是用户的home目录,添加用户的时候指定的。对于不同用户,主目录不同。
对于用户名为user的用户,缺省的home目录是/heme/user,root用户例外,它的缺省HOME目录是/root。
输出信息表示含义
在某个目录下键入ls -l可能会显示如下信息:
文件属性(占10个字符空间) 文件数 拥有者 所属的group 文件大小 建档日期 文件名
-rw------- 1 root root 1363 Jan 15 18:13 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Jan 15 10:17 Desktop
-rw-r–r-- 1 root root 38879 Jan 15 18:13 install.log
-rw-r–r-- 1 root root 3672 Jan 15 18:13 install.log.syslog
-rw-r–r-- 1 root root 93 Jan 15 22:08 wenjian
-rw-r–r-- 1 root root 0 Jan 15 20:43 wenjianyihao,wenjianerhao
这些显示内容的意义:
-
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。
-
其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。 -
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
-
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
-
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
-
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
-
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
-
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
时钟程序crontab
crontab系统的程序时钟参数程序参考网页
#crontab -l 查看定时任务
#crontab -e 编辑定时任务
* * * * *
min hour day mon week
- minute: 表示分钟,可以是从0到59之间的任何整数
- hour:表示⼩时,可以是从0到23之间的任何整数。
- day:表示⽇期,可以是从1到31之间的任何整数。
- month:表示⽉份,可以是从1到12之间的任何整数。
- week:表示星期⼏,可以是从0到7之间的任何整数,这⾥的0或7代表星期⽇。
- command:要执⾏的命令,可以是系统命令,也可以是⾃⼰编写的脚本⽂本
例子
- 每⼩时执⾏/etc/cron.hourly内的脚本
* * * * * echo “Have a break now.” >> /tmp/test.txt - 每两个⼩时
* */2 * * * echo “Have a break now.” >> /tmp/test.txt - 晚上11点到早上8点之间每两个⼩时和早上⼋点
0 23-7/2,8 * * * echo “Have a good dream” >> /tmp/test.txt - 每个⽉的4号和每个礼拜的礼拜⼀到礼拜三的早上11点
0 11 4 * 1-3 echo “Have a good dream” >> /tmp/test.txt 1⽉1⽇早上4点
0 4 1 1 * echo “Have a good dream” >> /tmp/test.txt - 每⽉去执⾏/etc/cron.monthly内的脚本
42 4 1 * * echo “Have a good dream” >> /tmp/test.t
修改命令行界面颜色PS1
#PS1 PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。
参考网页
例子:在终端输入命令:
# echo $PS1
可得到当前PS1的定义值:
PS1=’[\u@\h \W]$ ’
PS1的常用参数以及含义:
- \d :代表日期,格式为weekday month date,例如:“Mon Aug 1”
- \H :完整的主机名称
- \h :仅取主机名中的第一个名字
- \t :显示时间为24小时格式,如:HH:MM:SS
- \T :显示时间为12小时格式
- \A :显示时间为24小时格式:HH:MM
- \u :当前用户的账号名称
- \v :BASH的版本信息
- \w :完整的工作目录名称
- \W :利用basename取得工作目录名称,只显示最后一个目录名
- # :下达的第几个命令
- $ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $
所以linux默认的命令行提示信息的格式
PS1=’[\u@\h \W]$ ’ 的意思就是:[当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名]#
颜色设置参数
在PS1中设置字符颜色的格式为:[\e[F;Bm]…[\e[0m],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47,[\e[0m]作为颜色设定的结束。
颜色对照表:
F | B |
---|---|
30 | 40 黑色 |
31 | 41 红色 |
32 | 42 绿色 |
33 | 43 黄色 |
34 | 44 蓝色 |
35 | 45 紫红色 |
36 | 46 青蓝色 |
37 | 47 白色 |
只需将对应数字套入设置格式中即可。
比如要设置命令行的格式为绿字黑底([\e[32;40m]),显示当前用户的账号名称(\u)、主机的第一个名字(\h)、完整的当前工作目录名称(\w)、24小时格式时间(\t),可以直接在命令行键入如下命令:# PS1=’[[\e[32;40m]\u@\h \w \t]$ [\e[0m]’
通配符
在使用命令行时,有很多时间都用来查找你所需要的文件,如ls find等。 shell提供了一套完整的字符串模式匹配规则,或者称之为元字符,当shell遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名,我理解这可以称为通配符。
参考网页
- | #管道符,或者(正则)
- > #输出重定向
- >> #输出追加重定向
- < #输入重定向
- << #追加输入重定向
- ~ #当前用户家目录
- `` $() #引用命令被执行后的结果
- $ #以。。。结尾(正则)
- ^ #以。。。开头(正则)
- * #匹配全部字符,通配符
- ? #任意一个字符,通配符
- # #注释
- & #让程序或脚本切换到后台执行
- && #并且 同时成立
- [] #表示一个范围(正则,通配符)
- {} #产生一个序列(通配符)
- . #当前目录的硬链接
- … #上级目录的硬链接
软连接和硬连接
软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软链接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)stat 命令作用
硬连接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。
软链接可以跨文件系统,硬链接不可以;
软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);
软链接可以对目录进行连接,硬链接不可以。
两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。
使用 -s 开关可以创建软链接。
RPM 包的命名⽅式
以 httpd-2.2.15-39.el6.centos.x86_64.rpm 为例,
httpd 表示软件名,
2.2.15 表示主版本号,次版本号,发⾏版本号分别是2,2,15,
39.el6.centos 表示 RPM 包的修订号和 OS 信息,
x86_64 表示此软件包适⽤的平台,常⻅的有i386,i586,x86_