一.linux的参数认识
顺序问题:一般除了特殊情况,参数是没有顺序的。输入“–a –v”与输入“–v –a”以及“–av”的执行效果是相同的。
但若该参数后指定了要接的文件或特殊对象,如“–a cmd1 –v cmd2”,则不能任意改变选项顺序。
常见的参数以及参数的意义
--help, -h 显示帮助信息
--version,-V 显示版本信息
-v 繁琐模式(显示命令完整的执行过程)
-i 交谈模式(指定界面)
-l 长列表输出格式
-q,-s 安静模式(不显示任何输出或错误信息)
-R 递归模式(连同目录下所有文件和子目录一起处理)
-z 压缩
命令的结合与定向:
命令中除了一般命令外,还有管道(或称途径)(|)与定向(>或>>)。 管道(途径)的用法:
“命令一 [选项]” | “命令二 [选项]”,也就是将“命令一 [选项]”的输出结果传到“命令二 [选项]”,通过命令二的处理之后才输出到标准输出(屏幕)上。比如“ls /etc”会列出etc下的所有文件,若加上“| less”,也就是“ls /etc | less”,则会将“ls /etc”的结果通过less分页输出。
定向的用法:
将结果定向到命令的输出设备,一般不加文件名意为将结果输出到屏幕,若是在定向后加上文件名,则会将命令的执行结果输出到定向的文件,例如“ls > temp.txt”,就会将ls 的结果输出到文件temp.txt中。“>”与“>>”的差异在于前者是覆盖,而后者是附加。
二.主要命令
1.adduser 增加一个系统用户
语法:adduser [选项] 用户名
选项: -d<登陆目录> 指定新用户登陆的起始目录,默认为/home
-e<有效期限> 指定用户的有效期限,格式为YYYY-MM-DD
-g<用户组> 指定用户所属的组
-p<密码> 为新用户设置密码
-r 建立系统用户
2.at 在指定的时间执行特定的命令,时间格式为hh:mm
语法:at [选项] [时间]
选项:
-d<作业编号> 将待执行的作业删除
-f<文件> 从文件中读取要执行的命令
-m 将at执行的结果以E-mail的方式返回
使用组合键ctrl+D结束输入,不要连续按两次
3.bzip2 对文件进行压缩或者解压
它可以对任何文件进行压缩,包括已经被压缩过的文件。但是无法对该命令压缩过的文件再次压缩
语法:bzip2 [选项] 文件名 选项:
-d 解压文件,需指定文件名
-k 压缩或解压缩时保留原文件,默认为删除
-f 强制覆盖。在压缩或解压过程中,如果产生的目标文件名在当前目录中已经存在则强制覆盖。默认不覆盖直接退出。
-<数字> 用指定的数字调整压缩的速度,
-1或--fast表示最快压缩(低压缩比),
-9或--best表示最慢压缩(高压缩比),系统默认值为6。
-v 显示命令执行的详细过程
4.cal 显示简单的月历
语法:cal [选项]
cal [月份] [年份] 选项:
-3 显示本月与前后两个月的月历
-m 显示月历时把星期一作为一周的第一天,默认星期日
-y 显示本年度所有月份
5.cat 串接文件到指定文件或在标准输出上显示文件内容
语法:cat [选项] [文件名]
选项:
-n 对输出的行数编号
-b 和-n类似,但对空白行不编号
-s 将连续两行以上的空白行替换成一行空白
-E 在每行的结尾显示“$”符号
-T 将文件中的Tab键显示为“^I”
-t 等同于“-vT”
-A 显示全部,等同于“-vET”
6.cd切换工作目录
cd /home/q/www
7.chmod 更改文件或目录的访问权限
语法:chmod [选项] 文件名 选项:
-c 只有在文件或目录权限更改的前提下,才显示更改信息
-R 递归处理。若目标文件为目录文件,则以递归形式更改目录下所有文件的权限,并显示更改信息。
--reference=文件名或目录名 设置成与指定的文件或目录相同的权限
8.clear 清屏
9.cp 复制
10.date 显示或设置系统的时间,日期
语法:date [选项] [日期或时间格式] 选项:
-d<字符串> 显示字符串所表示的时间。加ago表示之前的时间,不加表示之后的时间
-s<字符串> 设置字符串所代表的时间
-u 显示格林威治标准时间 格式: %j 显示该年的第几天 %U 显示该年的第几周 %Z 显示时区
11.df 显示每个文件系统所使用的磁盘空间情况
语法: df [选项] [文件或磁盘设备] 选项:
-a 显示所有文件系统的情况
-h 以可读性较高的方式显示信息
-i 显示inode节点信息
-m 以1M为单位显示
-t<文件系统类型>(或“-t= 类型”) 只显示指定文件系统的磁盘信息
12.diff 比较两个不同文件或不同目录下两个同名文件的功能,并生成补丁文件
语法:diff [选项] [文件1] [文件2]
说明:若文件名是“-”或没有给出,则表示从标准输入读入内容。 选项:
-a 将比较文件都看做文本文件比较
-c 旧版上下文格式。显示全部内容,并列出不同之处
-u 新版上下文格式。仅列出不同之处
-q 只显示文件有无差异,不显示详细信息
-n 将比较结果以RCS的格式显示
-N 检查文件的不同,一般用于确保补丁文件正确的处理
-y 以并列的方式显示比较结果
13.du 显示文件或目录所占用的磁盘空间,可一次指定多个文件或目录
语法:du [选项] [文件或目录] 说明:
选项:
-h 以K、M、G为单位,提高信息的可读性
-s 仅显示总计大小
-S 显示目录时,不含其子目录大小;即只显示当前目录大小
-L<符号链接> 显示指定符号链接的源文件大小
--max-depth=N 仅搜索指定的目录层数N
14、echo 显示文字。echo是字符串输出常用命令,可将字符串输出至屏幕、文件或是其他终端机。
语法:echo [选项] 字符串 选项:
-e 若字符串中出现以下字符则以特殊方式处理:
\a 发出beep声(警告声)
\f 换行且光标移动到上一行的相同位置
\n 换行(此时光标移至行首)
\t 插入Tab制表符
\\ 显示‘\’字符
-n 不在一行最后自动换行
15.exit 退出当前的shell环境
16.find 查找文件或目录
语法:find [路径] [选项]
17.head 查看文件头部的内容;显示指定文件的前若干行。 语法:head [选项] 文件名
选项:
-<行数N> 指定要显示的行数
-n<行数N> 显示目标文件的前N行,若N前加‘-’,则表示显示除文件最后 N行的其他所有行
-c<行数N> 显示目标文件的前N个字节,若N前加‘-’,则表示显示除文件 最后N个字节的其他所有字节
18.history 输出使用过的命令,按时间顺序排列
语法:history [选项] 选项:
数字N 显示最近N次使用的命令
-a 将当前目录添加到历史记录中
-c 清除所有的历史记录
-d<编号> 删除history记录中指定编号的项
-r 仅读取历史记录,不追加记录
-w 覆盖原有的history文件
19.查询主机域名 host
语法:host [选项] 网址名称 [服务器] 选项:
-a 显示该host的DNS信息
-C 对指定的host查询完整的SOA记录
-T 打开TCP/IP模式
-W 时间 指定最长等待时间
20.hostname 查看或设置主机名
语法:hostname [选项] 选项:
-a 显示主机的别名
-d 显示DNS域名
-i 显示主机的IP地址
-v 显示命令执行过程
-y 显示NIS域名
21.ifconfig 查看或配置网络借口的地址和参数
语法:ifconfig [接口名称]
ifconfig [接口名称] [选项] 地址信息
说明:接口名称为网络接口的名称,通常第一张网卡为eth0,第二张为eth1……以此类推。 选项:
down 关闭指定网卡 up 激活指定网卡
mtu<字节> 设置网络接口的MTU<最大传输单元>,以字节为单位
netmask<子网掩码> 设置网络接口的子网掩码
[-]arp 关闭/激活指定设备中的ARP协议
[-]pointopoint<地址> 与指定地址的网络接口建立直接连接,此模式具有保密功能
[-]promisc 关闭/激活指定网络接口的promiscuous模式(不管数据包的目的地址为何,接收所有的包,通常用于网络监控的程序)
[IP地址] 指定网络接口的IP地址
[网络接口] 指定网络接口的名称,如eth0表示第一块以太网网卡
22.kill 终止正在执行的程序或作业
23.last 显示当前和过去登陆用户的相关信息;不带参数 的last命令显示/var/log/wtmp文件中记录的登录用户清单 语法:last [选项] [用户或终端]
说明:在指定了用户名和终端名的情况下,last只显示符合这些参数的记录。终端的名称可以简写,如last 0等同于last tty0。 选项:
-a 在最后一行显示登录的主机名或IP
-d 将IP转换为主机名,last默认会用IP地址来显示远端的主机
-n<显示行数> 设置显示信息的行数
-R 不显示登录系统的主机名或IP
-t<年月日时分秒> 显示到指定日期和时间为止的所有登陆信息,日期格式为YYYYMMDDHHMMSS
24.ls (字意:list)列出目录内容,包括文件或子目录 语法:ls [选项] [文件/目录] 选项:
-a 显示所有
-l 使用详细格式列出
-t 以文件和目录的更改时间排序
-i 显示文件或目录的inode编号
-L 列出符号链接所指向的原始文件或目录,常配合选项-l使用
-r 反向排序<基于字母>
-R 递归处理
25.man 显示命令说明、帮助信息;
man指令查找帮助信息的路径是由配置文件/etc/man.config指定的
语法:man [选项] 指令名 选项:
-a 显示所有符合条件的帮助文件
-h 显示man的帮助信息
-W 显示命令的帮助文档路径
NO | 分类 | PS1 | 命令名 | 用法及参数 | 功能注解 | 对应章节 | |
1 | 文件管理 | # | ls | ls -a | 列出当前目录下的所有文件,包括以.头的隐含文件 |
| |
| 文件管理 | # | ls | ls -l或ll | 列出当前目录下文件的详细信息 |
| |
| 文件管理 | # | pwd | pwd | 查看当前所在目录的绝对路经 |
| |
| 文件管理 | # | cd | cd .. | 回当前目录的上一级目录 |
| |
| 文件管理 | # | cd | cd - | 回上一次所在的目录 |
| |
| 文件管理 | # | cd | cd ~ 或 cd | 回当前用户的宿主目录 |
| |
| 文件管理 | # | cd | cd ~用户名 | 回指定用户的宿主目录 |
| |
2 | 文件管理 | # | mkdir | mkdir 目录名 | 创建一个目录 |
| |
| 文件管理 | # | mkdir | mkdir --p | 递归式去创建一些嵌套目录 |
| |
| 文件管理 | # | rmdir | Rmdir 空目录名 | 删除一个空目录 |
| |
3 | 文件管理 | # | rm | rm 文件名 文件名 | 删除一个文件或多个文件 |
| |
| 文件管理 | # | rm | rm -rf 非空目录名 | 递归删除一个非空目录下的一切,不让提式-f |
| |
4 | 文件管理 | # | cat | cat文件名 | 一屏查看文件内容 |
| |
5 | 文件管理 | # | more | more文件名 | 分页查看文件内容 |
| |
6 | 文件管理 | # | less | less 文件名 | 可控分页查看文件内容 |
| |
7 | 文件管理 | # | grep | grep字符 文件名 | 根据字符匹配来查看文件部分内容 |
| |
8 | 文件管理 | # | mv | mv 路经/文件 /经/文件 | 移动相对路经下的文件到绝对路经下 |
| |
| 文件管理 | # | mv | mv 文件名 新名称 | 在当前目录下改名 |
| |
9 | 文件管理 | # | cp | cp /路经/文件 ./ | 移动绝对路经下的文件到当前目录下 |
| |
10 | 文件管理 | # | find | find 路经 -name “字符串” | 查找路经所在范围内满足字符串匹配的文件和目录 |
| |
11 | 文件管理 | # | ln | ln 源文件 链接名 | 创建当前目录源文件的硬链接 |
| |
| ln /home/test /usr/test1 | 在/usr下建立/home/test的硬链接 |
| ||||
12 | 文件管理 | # | ln | Ln -s a b | 创建当前目录下a的符号链接b | ||
13 | 文件管理 | # | touch | touch file1 file2 | 创建两个空文件 |
| |
14 | 磁盘管理 | # | df | df | 用于报告文件系统的总容量,使用量,剩余容量。 |
| |
15 | 磁盘管理 | # | du | du -b /home | 查看目前/HOME目录的容量(k)及子目录的容量(k)。 |
| |
16 | 磁盘管理 | # | fdisk | fdisk -l | 查看系统分区信息 | ||
17 | 磁盘管理 | # | fdisk | fdisk /dev/sdb | 为一块新的SCSI硬盘进行分区 | ||
18 | 磁盘管理 | # | mkfs.ext3 | Mkfs.ext3 /dev/sdb1 | 为第一块SCSI硬盘的第一主分区格式化成 | ||
|
|
| mkfs.ext2 | Mkfs.ext2/dev/sdb2 | 格式化成ext2文件系统 | ||
19 | 磁盘管理 | # | mount | mount -t 文件系统类型 设备路经 访问路经 |
| ||
| 磁盘管理 | # |
| 文件系统类型 |
|
| |
|
|
|
| Iso9660 | 光驱文件系统 |
| |
|
|
|
| vfat | Fat文件系统(windows) |
| |
| 挂载光驱 | # | mount --t iso9660 /dev/cdrom /mnt/cdrom |
| |||
| 挂载FAT | # | mount --t vfat /dev/hda5 /mnt/cdrom | 挂第一个ide的第五个逻辑分区 | |||
17 | 磁盘管理 | # | Umount /mnt/cdrom | 卸载/mnt/cdrom为空 | |||
18 | 文件权限 | # | chmod | chmod u+s file | 为file的属主加上特殊权限 |
| |
|
|
|
| chmod g+r file | 为file的属组加上读权限 |
| |
|
|
|
| chmod o+w file | 为file的其它用户加上写权限 |
| |
|
|
|
| chmod a-x file | 为file的所有用户减去执行权限 | ||
| chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限 | ||||||
19 | 文件权限 | # | chown | chown root /home | 把/home的属主改成root用户 | ||
20 | 文件权限 | # | chgrp | chgrp root /home | 把/home的属组改成root组 | ||
21 | 打印管理 | # | redhat-config-printer-tui | 进入安装打印机界面 |
| ||
22 | 打印管理 | # | lp | lp --d hptr file | 打印file到hptr的打印机上 |
| |
23 | 打印管理 | # | lpq | Lpq --P 打印机名 | 查看打印机的状态 |
| |
24 | 打印管理 | # | lprm | Lprm --P 打印机名 a | 删除打印机内的打印作业 |
| |
25 | 打印管理 | # | disable | Disable --r “changing paper” HPtr | 禁用打印机并提示原因 | ||
26 | 打印管理 | # | enable | Enable HPtr | 重新启用被禁用的 |
| |
27 | 用户管理 | # | useradd | Useradd | 创建一个新的用户 |
| |
28 | 用户管理 | # | groupadd | Groupadd 组名 | 创建一个新的组 |
| |
29 | 用户管理 | # | passwd | Passwd 用户名 | 为用户创建密码 |
| |
30 | 用户管理 | # | Passwd -d | Passwd -d用户名 | 删除用户密码也能登陆 |
| |
31 | 用户管理 | # | Passwd -l | Passwd -l用户名 | 锁定账号密码 |
| |
32 | 用户管理 | # | Passwd -u | Passwd -u用户名 | 解锁账号密码 |
| |
33 | 用户管理 | # | Passwd -S | Passwd -S用户名 | 查询账号密码 |
| |
34 | 用户管理 | # | Usermod -l | Usermod -l 新用户名 老用户名 | 为用户改名 |
| |
35 | 用户管理 | # | Usermod -L | Usermod -L 要锁定用户名 | 锁定用户登陆 |
| |
36 | 用户管理 | # | Usermod -U | Usermod --U解锁用户名 | 解锁用户登陆 |
| |
37 | 用户管理 | # | Usermod -u | Usermod --u 501用户名 | 改变用户UID |
| |
38 | 用户管理 | # | Userdel | Userdel--r 用户名 | 删除用户一切 |
| |
39 | 用户管理 | # | Groupmod -n | Groupmod --n新用户名 老用户名 | 为组改名 |
| |
40 | 用户管理 | # | Groupmod -g | Groupmod --g 501 组名 | 改变组GID |
| |
41 | 用户管理 | # | groupdel | Groupdel组名 先应删它的用户 | 删除组 |
| |
42 | 用户管理 | # | gpasswd -a | gpasswd -a 用户名 组名 | 增加用户到组 |
| |
43 | 用户管理 | # | Id | id 用户名 | 查用户信息 |
| |
44 | 软件管理 | # | rpm -qa | rpm --qa | less | 查询已安装RPM |
| |
45 | 软件管理 | # |
| rpm --qa | grep ftp | 查询指定RPM |
| |
46 | 软件管理 | # | rpm -q | rpm -q 已安装的RPM包 | 查是否安装 |
| |
47 | 软件管理 | # |
| rpm -q telnet-server | 查看telnet服务器包 | ||
48 | 软件管理 | # | rpm -qi | rpm --qi 软件包名称 | 查看软件的描述信息 | ||
49 | 软件管理 | # | rpm -ql | rpm --ql软件包名称 | 查询软件包的文件列表 | ||
50 | 软件管理 | # | rpm -qf | rpm --qf软件包名称 | 查询某个文件所属的软件包 | ||
51 | 软件管理 | # | rpm -qp | rpm --qp软件包全名 | 查询未安装的软件包信息 | ||
52 | 软件管理 | # | rpm -e | rpm --e 软件包名称 | 删除具体的软件包 | ||
53 | 软件管理 | # | rpm -U | rpm --Uvh软件包全名 | 升级软件包并显示过程 | ||
54 | 软件管理 | # | rpm -ivh | rpm --ivh 软件包全名 | 安装软件包并显示过程 | ||
55 | 软件管理 | # | rpm -V | rpm --V软件包名称 | 验证软件包的大小,类型等 | ||
56 | 软件管理 | # | tar | -c 创建包 -x 释放包 -v 显示命令过程 -z 代表压缩包 | |||
57 | 软件管理 | # | tar -cf | tar --cvf benet.tar /home/benet | 把/home/benet目录打包 | ||
58 | 软件管理 | # | tar -czf | tar --zcvf benet.tar.gz /mnt | 把目录打包并压缩 | ||
59 | 软件管理 | # | tar --tf | tar --tf benet.tar | 看非压缩包的文件列表 | ||
60 | 软件管理 | # | tar --tzf | tar --tf benet.tar.gz | 看压缩包的文件列表 | ||
61 | 软件管理 | # | tar --xf | tar --xf benet.tar | 非压缩包的文件恢复 | ||
62 | 软件管理 | # | tar --zxvf | tar --zxvf benet.tar.gz | 压缩包的文件解压恢复 | ||
63 | 软件管理 | # | tar -jxvf | tar --jxvf benet.tar.bz2 |
| ||
|
|
|
| zcat lnx_920_disk1.cpio.gz | cpio -idmv | 解决cpio.gz | ||
64 | 软件管理 | # | diff | diff file1 file2 > 补丁名.patch | 为新旧文件生成补丁文件 | ||
|
|
|
|
|
| ||
65 | 软件管理 | # | diff | diff file1 file2 | 比较两个文件的区别 | ||
66 | 软件管理 | # | Patch | Patch | 打补丁 | ||
67 | 软件管理 | # | ./configure 必须在已解压目录下 | 编译前配置 | |||
68 | 软件管理 | # | make | 编译 | |||
69 | 软件管理 | # | make install | 安装编译好的源码包 | |||
70 | 启动管理 | # | reboot | Init 6 | 重启LINUX系统 | ||
71 | 启动管理 | # | Halt | Init 0 | Shutdown --h now | 关闭LINUX系统 | |
72 | 启动管理 | # | runlevel |
| 显示系统运行级 | ||
73 | 启动管理 | # | Init [0123456] |
| 改变系统运行级,7种 | ||
74 | 启动管理 | # | Chkconfig ---list [服务名称] | 查看服务的状态 | |||
75 | 启动管理 | # | Chkconfig ---level <运行级> <服务名> on|off|set | 设置服务的启动状态 | |||
76 | 启动管理 | # | Chkconfig <服务名> on|off|set | 设置非独立服务启状态 | |||
77 | 进程管理 | # | Top动态 | Ps-aux静态 | 进程树pstree | 查看系统进程 | |
78 | 进程管理 | # | 程序名 & | 后台运行程序 |
| ||
79 | 进程管理 | # | fg | 把后台运行的进程调回前台 |
| ||
80 | 进程管理 | # | bg | 把前台运行进程调到后台 |
| ||
81 | 进程管理 | # | renice | Renice +1 180 | 把180号进程的优先级加1 | ||
82 | 进程管理 | # | kill | Kill PID | 终止某个PID进程 | ||
83 | 进程管理 | # | at | at 5pm + 3 days | 指定三天后下午5:00执行/bin/ls | ||
84 | 进程管理 | # | crontab | Crontab -e | 用VI的形式来编辑自动周期性任务 | ||
85 | 进程管理 | # | crontab | Crontab -l | 查看自动周期性任务 | ||
86 | 进程管理 | # | crontab | Crontab -r | 删除自动周期性任务 | ||
87 | 进程管理 | # | crond | Service crond <start|stop|restart|status> | |||
88 | 进程管理 | # | ps | Ps --ef|grep resind | 查看resind进程的状态 | ||
89 | 日志查看 | # | tail | tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] | 一般用tail -200f abc.log 滚动查看abc.log倒数200行日志 | ||
| 马上启动自动周期性服务 | Service crond <启动|停止|重启|状态> | |||||
|
|
| |||||
| 实现磁盘配额 | (注安装LINUX时建立/home分区) |