<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->
下面列出十个在使用 linux 过程中使用频率最高的命令。这里只作简单介绍,具体用法请参考后面内容。
-
cat ,显示文件内容。
-
cd ,改变目录路径。
-
cp ,复制文件。
-
find ,查找文件。
-
grep ,搜索、过滤信息。
-
ls ,列出目录信息。
-
more ,分页显示。
-
rm ,删除文件或目录。
-
vi ,调用 vi 文本编辑器。
-
who ,显示登录用户信息。
2. chmod---- 改变一个或多个文件的存取模式 (mode)
chmod [options] mode files
只能文件属主或特权用户才能使用该功能来改变文件存取模式。 mode 可以是数字形式或以 who opcode permission 形式表示。 who 是可选的,默认是 a( 所有用户 ) 。只能选择一个 opcode( 操作码 ) 。可指定多个 mode ,以逗号分开。
-
options :
-c , --changes
只输出被改变文件的信息
-f , --silent , --quiet
当 chmod 不能改变文件模式时,不通知文件的用户
--help
输出帮助信息。
-R , --recursive
可递归遍历子目录,把修改应到目录下所有文件和子目录
--reference=filename
参照 filename 的权限来设置权限
-v , --verbose
无论修改是否成功,输出每个文件的信息
--version
输出版本信息。
-
who
u
用户
g
组
o
其它
a
所有用户 ( 默认 )
-
opcode
+
增加权限
-
删除权限
=
重新分配权限
permission
r
读
w
写
x
执行
s
设置用户 ( 或组 ) 的 ID 号
t
设置粘着位 (sticky bit) ,防止文件或目录被非属主删除
u
用户的当前权限
g
组的当前权限
o
其他用户的当前权限
-
作为选择,我们多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过 4( 读 ) 、 2( 写 ) 、 1( 执行 ) 三种数值的和来确定权限。如 6(4+2) 代表有读写权, 7(4+2+1) 有读、写和执行的权限。
-
还可设置第四位,它位于三位权限序列的前面,第四位数字取值是 4 , 2 , 1 ,代表意思如下:
-
4 ,执行时设置用户 ID ,用于授权给基于文件属主的进程,而不是给创建此进程的用户。
-
2 ,执行时设置用户组 ID ,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。
-
1 ,设置粘着位。
-
-
实例:
-
$ chmod u+x file 给 file 的属主增加执行权限
-
$ chmod 751 file 给 file 的属主分配读、写、执行 (7) 的权限,给 file 的所在组分配读、执行 (5) 的权限,给其他用户分配执行 (1) 的权限
-
$ chmod u=rwx,g=rx,o=x file 上例的另一种形式
-
$ chmod =r file 为所有用户分配读权限
-
$ chmod 444 file 同上例
-
$ chmod a-wx,a+r 同上例
-
$ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限
-
$ chmod 4755 设置用 ID ,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。
chgrp [options] newgroup files/directorys
组名可以用组的 ID 号,也可用 /etc/group 中的组名。只有文件的属主或特权用户 (root) 才可改变它的组。
-
options :
-c , --changes
只输出被改变文件的信息
-f , --silent , --quiet
当不能改变文件组属性时,不通知文件的用户
--help
输出帮助信息。
-R , --recursive
可递归遍历子目录,把修改应到目录下所有文件和子目录
--reference=filename
参照 filename 的组信息来设置当前文件的组
-v , --verbose
输出详细信息
--version
输出版本信息。
-
实例:
-
$ chgrp root test 把 test 的所属组更改 root 组
-
$ chgrp -R mysql test 递归地把 test 目录及该目录下所有文件和子目录的组属性设置成 mysql
-
$ chgrp root * 把当前目录中所有文件的组属性设置成 root
4. chown---- 设置一个或多个文件或目录的属主身份
chown [options] newowner files/directorys
新的属主可以是用户的 ID 号,也可以是 /etc/passwd 里的登录名。 chown 也可接受这样的形式: newowner:newgroup 或 newowner.newgroup 。同时改变所属组的属性。如果句点和冒号后没有组名,则组改变为新属主的组。只有文件或目录的当前属主才有权改变它的属性。
-
options :
-c , --changes
只输出被改变文件的信息
--dereference
跟踪符号链接
-h , --no-dereference
改变每一个符号链的属主身份,而不是被引用文件的属主身份
-f , --silent , --quiet
当不能改变文件属主属性时,不通知文件的用户
--help
输出帮助信息。
-R , --recursive
可递归遍历子目录,把修改应到目录下所有文件和子目录
--reference=filename
把属主改变成 filename 文件的属主
-v , --verbose
输出详细信息
--version
输出版本信息。
-
实例:
-
$ chown root test 把 test 文件的属主改进 root
-
$ chown -R root test_directory 递归地把 test_directory 目录下的所有文件属主改成 root
-
$ chown --dereference root test_link 把 test_link 链接的原文件属主改成 root ,链接文件属主不变
-
$ chown --no-dereference root test_link 把 test_link 的链接文件属主改成 root ,原文件属主不变
date [options][+format][date]
$ date -s 06/09/2004 修改日期(按月日年格式)
$ date -s 13:56:00 修改时间(按时分秒格式)
$ date -r test 显示 test 文件最后一次的修改时间
$ date +'%Y-%m-%d' 以 yyyy-mm-dd 格式显示日期 , 其它格式请参考帮助
$ clock -r 查询 BIOS 时间
$ clock -w 把修改后的时间写回 BIOS
df [options][name]
$ df -h 以友好的格式输出所有已安装文件系统的磁盘容量状态
$ df -m /home 以 M 为单位输出 home 目录的磁盘容量状态
$ df -k 以 K 为单位输出所有已安装文件系统的磁盘容量状态
$ df -i 报告空闲的、用过的或部份用过的(百份比)索引节点
$ df -t ext3 仅显示文件类型为 ext3 的文件系统的磁盘状态
$ df -x ext3 仅显示文件类型不为 ext3 的文件系统的磁盘状态
$ df -T 除显示文件系统磁盘容量大小外还显示文件系统类型
$ df -l 仅显示本地文件系统。
fdisk [options][driver]
$ fdisk -l 列出所有分区信息
hdparm [options][driver]
$ hdparm -d /dev/hda 显示硬盘的 DMA 模式是不打开, 1 代表 on
$ hdparm -tT /dev/hda 测试硬盘的写性能
$ hdparm -d1 /dev/hda 开启 dma 功能
$ hdparm -d1 -X68 -c3 -m16 /dev/hda
选项说明:
-c3 :把硬盘的 IO 模式从 16 位转成 32 位。
-m16 :改变硬盘的多路扇区的读功能, -m16 使硬盘在一次 I/O 中断中读入 16 个扇区的数据。
-d1 :打开 DMA 模式。
-X68 :支持 ATA66 的数据传输模式。下面是其它模式的设置对照
ATA33....... 参数是 -X66
ATA66....... 参数是 -X68
ATA100...... 参数是 -X69
$ hdparm -k1 /dev/hda 保存设置
ln [options] sourcename [destname]
ln [options] sourcenames destdirectory
$ ln -s file1 file2 建立一个到 file1 的符号链接 file2 ,删除 file2 不会影响 file1
$ ln -s -f file1 file2 建立一个到 file1 的符号链接 file2 ,并不提示是否重写
10. shutdown----- 终止所有进程序,关闭计算机。
shutdown [options] when [message]
用 when 可以是指定的关机时间 ( 以 hh:mm 格式 ) 、关机前要等待的时间 ( 以 +m 格式 ) 、或者 now 。 message 指定一条广播消息通知所有用户退出系统。 showdown 给所有进程发送 SIGTERM 信号,并调用 init 1 执行实际的关机动作。
$ shutdown -c 取消正在进行的关闭操作
$ shutdown -f 快速重新启动,在重新启动时禁止对 fsck 的常规调用
$ shutdown -h 当关闭完成时停止系统
$ shutdown -k 输出警告信息,但禁止实际的关闭
$ shutdown -n 不调用 init 就执行关闭
$ shutdown -r 当关闭完成时重新启动系统
$ shutdown -t 5 在杀死进程和改变运行级别之间确保延时 5 秒
sleep amount [units]
units 默认为秒 (s) , m 表示分钟, h 表示小时, d 表示天。
12. swapon/swapoff----- 启动和关闭交换分区
swapon/swapoff [options] device
$ swapon -s 显示交换分区信息
$ swapon -a 激活所有在 /etc/fstab 中有 sw 标记的分区
$ swapon -p 1 设置交换分区优先级为 1
13. tune2fs----- 调整 Linux 第二扩展文件系统的参数
tune2fs [options] device
$ tune2fs -l /dev/hda1 显示 hda1 分区的超级块内容
$ tune2fs -c 100 /dev/hda1 设置 hda1 分区每 mount100 次就进行磁盘检查
uniq [options][file1 [files]]
$ uniq -c file file 中的重复行输出一次,并在每行前显示重复次数
$ uniq -d file file 中的重复行输出一次,但不输出唯一的行
$ uniq -u file 只输出 file 中的唯一行
$ uniq file1 file2 把 file1 中的重复的相邻行删除,并把每行的一个拷贝送到 file2
15. wc----- 输出每个文件中的字符数、单词数及行数。
wc [options][files]
$ wc -l file 输出 file 中的行数
$ wc -w file 输出 file 中的单词数
$ wc -c file 输出 file 中的字符数