ls -al drwxr-xr-x
当为[ d ]则是目录,
当为[ - ]则是文件,
区块 (block) 设备档第一个属性为 [ b ];
字符 (character) 设备档第一个属性为 [ c ]
资料接口文件 (sockets)第一个属性为 [ s ], 最常在 /var/run 这个目录中看到这种档案类型了
数据输送文件 (FIFO, pipe)
-----------------------------------------------------------
二、磁盘分区
磁盘主分区只能分4个,Primary (P),
Extended (E) 的 partition扩展分区只能有一个,所以为保证硬盘空间全用完,要4P+E
fdisk
磁盘格式化:mke2fs [-bicLj] 装置名称
--------------------------------------------------------------
三、有关硬盘的大小
block为若干个sector(磁盘上数据最小储存单位)
档案系统( filesystem )要包含superblock=inode+Block area
df df -h du 列目录 du -a列目录与文件 du -sm /* du -sm /usr/* du查看容量
-------------------------------------------------------------
四、硬链接与软连接
硬链接:不能跨 Filesystem、不能 link 目录。
参数:
-s :如果 ln 不加任何参数就进行连结,那就是hard link,至于 -s 就是symbolic link
-f :如果 目标文件 存在时,就主动的将目标文件直接移除后再建立!
软连接:更像一个快捷方式
-----------------------------------------------------------------
五、shell
/etc/shells 查看系统识别哪些shell ~/.bash_history 记录的是前一次登入以前所执行过的指令
--------------------------------------------------------------------
六、变量
命令别名(alias)设定功能
变量的方法为:unset 变量名称
将 name 的内容多出 "yes" 呢
name="$name"yes name=${name}yes
在 PATH 这个变量当中『累加』:/home/dmtsai/bin 这个目录
PATH=$PATH:/home/dmtsai/bin
[root@linux ~]# PATH="$PATH":/home/dmtsai/bin
echo name 把变量设置为环境变量
------------------------------------------------------------------------
七、进程管理
jobs [-lrs] 列出在背景中的工作 fg (+工作号码)恢复至前景工作 [ctrl]-z 可以将目前的工作丢到背景底下去『暂停』 kill的参数 -1 :重新读取一次参数的设定档 (类似 reload); -2 :代表与由键盘输入 [ctrl]-c 同样的动作; -9 :立刻强制删除一个工作; -15:以正常的程序方式终止一项工作。与 -9 是不一样的。
-------------------------------------------------------------------------------
八、ps命令
观察ps命令的显示:
id (idle) 的数值:他应该要接近 100% 才好,表示系统很少资源被使用啊!
load average: 0.00, 0.01, 0.05
三个数据分别代表 1, 5, 10 分钟的平均负载。 一般来说,这个负载值应该不太可能超过 1 才对,除非您的系统很忙碌。 如果持续高于 5 的话,那么.....仔细的看看到底是那个程序在影响整体系统吧!
zombie:僵尸程序的数量
NI:NI值越小,CPU越优先执行。如何修改:top -->r-->输入NI值即可
PR:NI值越小,CPU越优先执行。
pstree -Aup(tree -Au)
dmesg | grep -i hd
dmesg | more
统计目前主机 CPU 状态,每秒一次,共计三次!sar -u 1 3
统计目前主机内存的使用情况sar -r 1 3
PRI(new) = PRI(old)(不可变) + nice(可变)
一般使用者的 nice 值为 0 ~ 19 ;
root 可用的 nice 值为 -20 ~ 19 ;
一开始执行程序就立即给予一个特定的 nice 值:用 nice 指令;
? 调整某个已经存在的 PID 的 nice 值:用 renice 指令。
nice [-n] command
参数:
-n :后面接一个数值,数值的范围 -20 ~ 19。
nice -n -5 vi &
renice [number] PID
参数:
PID :某个程序的 ID 啊!
renice 10 18852
nice 值是可以在父程序 --> 子程序之间传递
--------------------------------------------------------------------------------
九、fuser使用
fuser [-ki] [-signal] file/dir
参数:
-k :找出使用该档案/目录的 PID ,并试图以 SIGKILL 这个讯号给予该 PID;
-i :必须与 -k 配合,在删除 PID 之前会先询问使用者意愿!
-signal:例如 -1 -15 等等,若不加的话,预设是 SIGKILL (-9) 啰!
找出目前所在目录的使用 PID 为何?(有哪些程序或者档案使用该目录了)
[root@linux ~]# fuser .
.: 18852c
[root@linux ~]# ps aux | grep 18852
root 18852 0.0 0.4 5396 1588 pts/0 SN 10:12 0:00 bash
# 用这个方式就可以得到使用该目录的 PID 了。此外,为何使用 fuser
# 的输出当中,在 PID 后面会有 c 呢?他代表的意义为:
# c :在当前的目录下;
# e :可以被执行的;
# f :是一个被开启的档案
# r :代表 root directory
实例:
找到 /var 底下属于 FIFO 类型的档案,并且找出存取该档案的程序
>find /var -type p /var/spool/postfix/public/qmgr >fuser /var/spool/postfix/public/qmgr /var/spool/postfix/public/qmgr: 1666 1675 >ps aux | egrep '(1666|1675)'
---------------------------------------------------------------------------------
十、lsof:使用
lsof:查找某个程序所用到的
lsof [-Uu] [+d]
参数:
-a :多项数据需要『同时成立』才显示出结果时!
-U :仅列出 Unix like 系统的 socket 档案类型;
-u :后面接 username,列出该使用者相关程序所开启的档案;
+d :后面接目录,亦即找出某个目录底下已经被开启的档案!
----------------------------------------------------------------------------
十一、pidof使用
pidof:查找某个程序的pid
pidof [-sx] program_name
参数:
-s :仅列出一个 PID 而不列出所有的 PID
-x :同时列出该 program name 可能的 PPID 那个程序的 PID