Linux常用命令

一、基本命令

1.1 关机和重启

关机
shutdown -h now 立刻关机
shutdown -h 5 5分钟后关机
poweroff 立刻关机
重启
shutdown -r now 立刻重启
shutdown -r 5 5分钟后重启
reboot 立刻重启

1.2 帮助命令

--help命令
shutdown --help:
ifconfig --help:查看网卡信息

man命令(命令说明书)
man shutdown
注意:man shutdown打开命令说明书之后,使用按键q退出

二、目录操作命令

2.1 目录切换 cd

命令:cd 目录

cd / 切换到根目录
cd /usr 切换到根目录下的usr目录
cd ../ 切换到上一级目录 或者 cd ..
cd ~ 切换到home目录
cd - 切换到上次访问的目录

2.2 目录查看 ls [-al]

命令:ls [-al]

ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件 如:ls /usr

2.3 目录操作【增,删,改,查】

2.3.1 创建目录【增】 mkdir

命令:mkdir 目录

mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录

2.3.2 删除目录或文件【删】rm

命令:rm [-rf] 目录

删除文件:
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)

删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)

全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除

注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包

2.3.3 目录修改【改】mv 和 cp

一、重命名目录
命令:mv 当前目录 新目录
例如:mv aaa bbb 将目录aaa改为bbb
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作

二、剪切目录
命令:mv 目录名称 目录的新位置
示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

三、拷贝目录
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

2.3.4 搜索目录【查】find

命令:find 目录 参数 文件名称
示例:find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件

三、文件操作命令

3.1 文件操作【增,删,改,查】

3.1.1 新建文件【增】touch

命令:touch 文件名
示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt

3.1.2 删除文件 【删】 rm

命令:rm -rf 文件名

3.1.3 修改文件【改】 vi或vim

【vi编辑器的3种模式】
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  1. 命令行模式command mode)
    控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
    命令行模式下的常用命令:
    【1】控制光标移动:↑,↓,j
    【2】删除当前行:dd
    【3】查找:/字符
    【4】进入编辑模式:i o a
    【5】进入底行模式::

  2. 编辑模式(Insert mode)
    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
    编辑模式下常用命令:
    【1】ESC 退出编辑模式到命令行模式;

  3. 底行模式(last line mode)
    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
    底行模式下常用命令:
    【1】退出编辑: :q
    【2】强制退出: :q!
    【3】保存并退出: :wq

打开文件

命令:vi 文件名
示例:打开当前目录下的aa.txt文件 vi aa.txt 或者 vim aa.txt

注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。

编辑文件

使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。

i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入

保存或者取消编辑

保存文件:

第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:wq 保存并退出编辑

取消编辑:

第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:q! 撤销本次修改并退出编辑

3.1.4 文件的查看【查】

文件的查看命令:cat/more/less/tail

cat:看最后一屏

示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat sudo.conf

more:百分比显示

示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf

less:翻页查看

示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
less sudo.conf

tail:指定行数或者动态查看

示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束
tail -10 sudo.conf

3.2 权限修改

rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。

示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------

第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限

421 421 421

  • rw- --- ---

    命令:chmod +x aaa.txt
    或者采用8421法
    命令:chmod 100 aaa.txt

四、压缩文件操作

4.1 打包和压缩

Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz

Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名

示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:tar -zcvf ab.tar *

4.2 解压

命令:tar [-zxvf] 压缩文件
其中:x:代表解压
示例:将/usr/tmp 下的ab.tar解压到当前目录下

示例:将/usr/tmp 下的ab.tar解压到根目录/usr下
tar -xvf ab.tar -C /usr------C代表指定解压的位置

五、查找命令

5.1 grep

grep命令是一种强大的文本搜索工具

使用实例:

ps -ef | grep sshd  查找指定ssh服务进程 
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身 
ps -ef | grep sshd -c 查找指定进程个数 

5.2 find

find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。

find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

使用实例:

find . -name "*.log" -ls  在当前目录查找以.log结尾的文件,并显示详细信息。 
find /root/ -perm 600   查找/root/目录下权限为600的文件 
find . -type f -name "*.log"  查找当目录,以.log结尾的普通文件 
find . -type d | sort   查找当前所有目录并排序 
find . -size +100M  查找当前目录大于100M的文件

5.3 locate

locate 让使用者可以很快速的搜寻某个路径。默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。如果数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory该错误!updatedb即可!

yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令

使用实例:

updatedb
locate /etc/sh 搜索etc目录下所有以sh开头的文件 
locate pwd 查找和pwd相关的所有文件

5.4 whereis

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

使用实例:

whereis ls 将和ls文件相关的文件都查找出来

5.5 which

which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

使用实例:

which pwd  查找pwd命令所在路径 
which java  查找path中java的路径 

六、su、sudo

6.1 su

su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。

su test:切换到test用户,但是路径还是/root目录
su - test : 切换到test用户,路径变成了/home/test
su : 切换到root用户,但是路径还是原来的路径
su - : 切换到root用户,并且路径是/root

su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。

退出返回之前的用户:exit

6.2 sudo

sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。

进入sudo配置文件命令:

vi /etc/sudoer或者visudo

案例:
允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
hadoop  ALL=(ALL)   ALL 
 
案例:
只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。 
配置文件中: 
hadoop  ALL=NOPASSWD:  /bin/ls, /bin/cat 

七、系统服务

1 service iptables status  --查看iptables服务的状态
2 service iptables start  --开启iptables服务
3 service iptables stop  --停止iptables服务
4 service iptables restart  --重启iptables服务
5 chkconfig iptables off  --关闭iptables服务的开机自启动
6 chkconfig iptables on  --开启iptables服务的开机自启动

 

八、网络管理

8.1 主机名配置

1 [root@node1 ~]# vi /etc/sysconfig/network
2 NETWORKING=yes
3 HOSTNAME=node1

8.2 IP 地址配置

[root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

8.3 域名映射

/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用。所以,你想访问一个什么样的主机名,就需要把这个主机名和它对应的ip地址。

[root@node1 ~]# vi /etc/hosts
#### 在最后加上
192.168.52.201  node1
192.168.52.202  node2
192.168.52.203  node3

九、定时任务指令crontab 配置

crontab是Unix和Linux用于设置定时任务的指令。通过crontab命令,可以在固定间隔时间,执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

crontab安装:

yum install crontabs

服务操作说明:

1 service crond start   ## 启动服务 
2 service crond stop    ## 关闭服务 
3 service crond restart ## 重启服务

9.1 命令格式

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

参数说明:

-u user:用来设定某个用户的crontab服务

file:file是命令文件的名字,表示将file做为crontab的任务列表文件

并载入crontab。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前

用户的crontab文件。

-l:显示某个用户的crontab文件内容。如果不指定用户,则表示显示当前

用户的crontab文件内容。

-r:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab

文件,如果不指定用户,则默认删除当前用户的crontab文件。

命令示例:

1 crontab file [-u user] ## 用指定的文件替代目前的crontab
2 crontab -l [-u user]  ## 列出用户目前的crontab
3 crontab -e [-u user]  ## 编辑用户目前的crontab

9.2 配置说明、实例

命令:* * * * * command

解释:分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时0~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

配置实例:

 1 先打开定时任务所在的文件:
 2 crontab -e
 3  
 4 每分钟执行一次date命令 
 5 */1 * * * * date >> /root/date.txt
 6  
 7 每晚的21:30重启apache。 
 8 30 21 * * * service httpd restart
 9  
10 每月1、10、22日的4 : 45重启apache。  
11 45 4 1,10,22 * * service httpd restart
12  
13 每周六、周日的1 : 10重启apache。 
14 10 1 * * 6,0 service httpd restart
15  
16 每天18 : 00至23 : 00之间每隔30分钟重启apache。
17 0,30   18-23    *   *   *   service httpd restart
18 晚上11点到早上7点之间,每隔一小时重启apache
19 *  23-7/1    *   *   *   service httpd restart

 

十、其他命令

10.1 查看当前目录:pwd

命令:pwd 查看当前目录路径

10.2 查看进程:ps -ef

命令:ps -ef 查看所有正在运行的进程

10.3 结束进程:kill

命令:kill pid 或者 kill -9 pid(强制杀死进程) pid:进程号

10.4 网络通信命令:

ifconfig:查看网卡信息

命令:ifconfig 或 ifconfig | more

ping:查看与某台机器的连接情况

命令:ping ip

netstat -an:查看当前系统端口

命令:netstat -an

搜索指定端口
命令:netstat -an | grep 8080

10.5 配置网络

命令:setup

10.6 重启网络

命令:service network restart

10.7 切换用户

命令:su - 用户名

10.8 关闭防火墙

命令:chkconfig iptables off

或者:

 iptables -L;
 iptables -F;
 service iptables stop

10.9 修改文件权限

命令:chmod 777

10.10 清屏

命令:ctrl + l

10.11 vi模式下快捷键

esc后:

保存并退出快捷键:shift+z+z

光标跳到最后一行快捷键:shift+g

删除一行:dd

复制一行内容:y+y

粘贴复制的内容:p

 

第二部分补充:

1.Linux管理文件和目录的命令

命令 功能 命令 功能
Pwd 显示当前目录 ls 查看目录下的内容
Cd 改变所在目录 cat 显示文件的内容
Grep 在文件中查找某字符 cp 复制文件
Touch 创建文件 mv 移动文件
Rm 删除文件 rmdir 删除目录
Vi 编辑文件

1.1 pwd命令

该命令的英文解释为print working directory(打印工作目录)。输入pwd命令,Linux会输出当前目录。

1.2 cd命令 用来改变所在目录。

cd / 转到根目录中
cd ~ 转到/home/user用户目录下
cd /usr 转到根目录下的usr目录中-------------绝对路径
cd test 转到当前目录下的test子目录中-------相对路径

1.3 ls命令 用来查看目录的内容。

选项 含义
-a 列举目录中的全部文件,包括隐藏文件
-l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
-f 列举的文件显示文件类型
-r 逆向,从后向前地列举目录中内容
-R 递归,该选项递归地列举当前目录下所有子目录内的内容
-s 大小,按文件大小排序
-h 以人类可读的方式显示文件的大小,如用K、M、G作单位

ls -l examples.doc 列举文件examples.doc的所有信息

1.4 cat命令

cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。
cat snow.txt 该命令显示文件snow.txt的内容,ctrl+D退出cat。

1.5 grep命令 最大功能是在一堆文件中查找一个特定的字符串。

grep money test.txt
以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。

1.6 touch命令

touch命令用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据。
touch newfile 该命令创建一个名为newfile的空白文件。

1.7 cp命令 用来拷贝文件,要复制文件,输入命令:

cp
cp t.txt Document/t 该命令将把文件t.txt复制到Document目录下,并命名为t。
选项 含义
-I 互动:如果文件将覆盖目标中的文件,他会提示确认
-r 递归:这个选项会复制整个目录树、子目录以及其他
-v 详细:显示文件的复制进度

1.8 mv命令 用来移动文件。

选项 说明
-I 互动:如果选择的文件会覆盖目标中的文件,他会提示确认
-f 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项
-v 详细:显示文件的移动进度
mv t.txt Document 把文件t.txt 移动到目录Document中。

1.9 rm命令 用来删除文件。

选项 说明
-I 互动:提示确认删除
-f 强制:代替互动模式,不提示确认删除
-v 详细:显示文件的删除进度
-r 递归:将删除某个目录以及其中所有的文件和子目录
rm t.txt 该命令删除文件t.txt

1.10 rmdir命令 用来删除目录。

1.11 vi 是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。进入vi的命令

vi filename :打开或新建文件,并将光标置于第一行首
vi n filename :打开文件,并将光标置于第n行首
vi filename :打开文件,并将光标置于一行首
vi /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑

屏幕翻滚类命令
Ctrl u:向文件首翻半屏
Ctrl d:向文件尾翻半屏
Ctrl f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部.
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符

保存命令
按ESC键 跳到命令模式,然后:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
之后,回车,ok!

2.有关磁盘空间的命令

命令 功能
mount 挂载文件系统
umount 卸载已挂载上的文件系统
df 检查各个硬盘分区和已挂上来的文件系统的磁盘空间
du 显示文件目录和大小
fsck 主要是检查和修复Linux文件系统

2.1 mount命令 是挂载文件系统,可以挂载硬盘、光盘、软盘,也可以挂载NFS网络文件系统。这个命令的标准用法如下:

mount –t 设备类型存放目录
mount IP地址:/所提供的目录存放目录
不加任何参数,直接输入命令可以显示已挂载的文件系统和目录
-a 挂上/etc/fstab下的全部文件系统
-t 制定所挂上来的文件系统的名称,所有系统支持的文件系统,这个信息可以在/proc/filesystems这个文件里看到
-n 挂上文件系统,但是不把文件系统的数据写入/etc/mtlab这个文件
-w 将文件系统设为可读写
-r 挂上来的文件系统设为只读
在目录/mnt下,挂上iso9660文件系统。输入命令:
mount –t iso9660 /dev/hdb /cdrom

2.2 umount命令

umount命令的功能是卸载已挂上的文件系统,在关闭系统前应该把所有挂载上的文件系统卸载。这个命令和mount命令是相对的。用法:
umount 已挂上的目录或设备
卸载已挂上的/cdrom目录,输入命令:umount /cdrom
卸载已挂上的某个分区,输入命令:umount /dev/hdb1

2.3 df命令 用来检查硬盘分区和已挂在的文件系统的磁盘空间,也就是说,检查硬盘的使用量。标准用法如下:

选项 功能
-a 把全部的文件系统和各分区的硬盘使用情形列出来,包括0区块的,例如/proc这个文件系统
-I 列出I-nodes的使用量
-k 把各分区的大小和挂上来的文件分区的大小用k表示
-t 列出某一文件系统的所有分区磁盘空间使用量
-x 列出不是某一文件系统的所有分区磁盘空间使用量,和-t选项相反
-T 列出每个分区所属文件系统的名称
例如,要列出全部文件系统和各分区的磁盘使用情况,输入命令:df –a

2.4 du命令 是用于显示文件目录或大小。标准用法:

选项 含义
-a 显示全部目录及其次目录下的每个文件所占的磁盘空间
-b 显示目录和文件的大小,以B为单位
-c 最后再加上一个总计
-h 以KB、MB、GB为单位,提高信息可读性
-s 只列出各文件大小的总和
-x 只计算属于同一文件系统的文件

2.5 fsck命令

fsck命令的功能是检查和修复Linux文件系统,这个命令最好在没有人或是没有分区挂上来时使用,其实每次开机系统都会做一次检查,看是否有坏轨或数据流失的现象。用法:
fsck (-选项) 分区名称
选项 功能
-a 自动修复文件系统,不询问任何问题,比较危险
-A 依照/etc/fstab配置文件的内容,检查该文件内所列全部文件系统。若没有附加参数"-P”,则会先检查/目录的文件系统,而不会同时检查所有文件系统
-R 采取互动方式,在修复时询问问题,让用户确认并决定处理方式
-S 依次检查作业而不是同时执行。当依次指定多个文件系统且采用互动的方式进行检查时,请使用此参数以便顺序执行,否则fsck可能会同时询问数个问题,让人不知所措
-V 显示命令执行的过程
-T 指定要检查的文件系统的类型
-N 不是真正执行指令,仅列出实际执行时会进行的动作

3.文件备份和压缩命令

在Linux中,常用的文件压缩工具有gzip、bzip2、zip。bzip2是最理想的压缩工具,它提供了最大限度的压缩。zip兼容性好,Windows也支持。
命令 功能
bzip2/bunzip2 扩展名为bz2的压缩/解压缩工具
gzip/gunzip 扩展名为gz的压缩/解压缩工具
zip/unzip 扩展名为zip的压缩/解压缩工具
tar 创建备份和归档

3.1 bzip2命令

要使用bzip2来压缩文件,在shell提示下输入命令:
bzip2 filename 文件即会被压缩,并被保存为filename.bz2。
要解压缩文件,输入命令:
bunzip2 filename.bz2
filename.bz2会被删除,而以filename代替。
bzip2 filename.bz2 file1 file2 file3/usr/work/school
上面的命令把file1、file2、file3以及/usr/work/school目录中的内容压缩起来放入filename.bz2。

3.2 gzip命令

要使用gzip来压缩文件,输入命令:
gzip filename 文件即会被压缩,并被保存为filename.gz。
要解压缩文件,输入命令:
gunzip filename.gz
filename.gz会被删除,而以filename代替。
gzip -r filename.gz file1 file2 file3/usr/work/school
上面的命令把file1、file2、file3以及/usr/work/school目录中的内容压缩起来放入filename.gz。

3.3 zip命令 使用方法同gzip。

3.4 tar命令 最早是用来做磁带备份的,但是由于硬盘容量越来越大,因此现在主要用这个命令来备份所有的文件。tar这个命令把大量的文件和目录打包成一个文件。

选项 功能
-c 创建一个新归档
-f 当与-c选项一起使用时,创建的tar文件使用该选项指定的文件名;当与-x选项一起使用时,则解除该选项指定的归档
-t 显示包括在tar文件中的文件列表
-v 显示文件的归档进度
-x 从归档中抽取文件
-z 使用gzip压缩tar文件
-j 使用bzip2压缩tar文件
要创建一个tar文件,输入命令:
tar –cvf filename.tar directory/file/home/mine
上面的命令将directory/file、/home/mine放入归档文件中。
要列出tar文件的内容,输入命令:
tar –tvf filename.tar
要抽取tar文件的命令,输入命令:
tar –xvf filename.tar
这个命令不会删除tar文件,但会把解除归档的内容复制到当前工作目录下,并保留归档文件所使用的任何目录结构。
请记住,tar默认不压缩文件。要创建一个使用tar和bzip2来归档压缩的文件,使用-j选项:
tar –cjvf filename.tbz file
如果使用bunzip2命令解压filename.tbz文件,则filename.tbz会被删除,以filename.tar代替。
要扩展并解除归档bzip tar文件,输入命令:tar –xjvf filename.tbz
要创建一个用tar和gzip归档并压缩的文件,使用-z选项:tar –czvf filename.tgz file
如果使用gunzip命令解压filename.tgz文件,则filename.tgz会被删除,以filename.tar代替。

4.有关关机和查看系统信息的命令

命令 说明
shutdown 正常关机
reboot 重启计算机
ps 查看目前程序执行的情况
top 查看目前程序执行的情景和内存使用的情况
kill 终止一个进程
date 更改或查看目前日期
cal 显示月历及年历

4.1 shutdown命令

要使用这个命令必须保证是根用户,否则使用su命令改变为根用户。命令格式如下:
选项 功能
-k 不是真正的关机,只是发出警告命令
-r 关机后重启(这个用的最多)
-t 在规定的时间内关机
加入要在2min内关机,输入命令:shutdown –t 2
如果是关机后重启,输入命令:shutdown –r

4.2 reboot命令

这个命令也是一个关机命令,只有输入,不加任何参数,系统会以最快的速度关机,且不将内存或缓冲区里的东西写回硬盘。
选项 功能
-d 不把记录写到/var/log/wtmp档案里(-n这个参数包含了-d)
-f 强迫重开机,不呼叫shutdown这个指令
-n 在重开机前不做将记忆体资料写回硬盘
-w 并不会真的重开机,只是把记录写到/var/log/wtmp档案里

4.3 ps命令

用来查看在计算机系统中有哪些程序正在执行,及其执行的情况。这是一个相当强大的命令,可以用它来找出所有的process id和名称。另外,ps命令也可以用来列出所有程序占用内存的情况。用法如下:
选项 功能
-l 用长格式列出
-u 列出使用者的名称和使用时间
-m 列出内存分布的情况
-r 只列出正在执行的前台程序,不列出其他信息
-x 列出所有程序,包括那些没有终端机的程序

4.4 top命令

top命令可以查看目前程序的执行情景和内存使用。它和ps类似,不过,它会几秒钟更新一次系统状态,方便追踪。要离开这个程序,按Ctrl+C键就可以了。

4.5 kill命令

kill命令用来终止一个正在执行中的进程。如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源。不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以送很多信号给这些程序,也可以让他们受到信号后做很多事情。标准用法:
kill –(选项) pid
在执行kill命令前。可以先用ps命令查一下某宕掉程序的pid,然后使用kill除去某个程序。例如,终止pid为90的程序:
kill 90
选项 功能
-l 列出所有可用的信号名称
-p 印出pid并不发送信号
-signal 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束
将 pid 为 323 的行程砍掉 (kill) :
kill -9 323
将 pid 为 456 的行程重跑 (restart) :kill -HUP 456

4.6 date命令

date命令用来显示、设定和修改现在的时间和日期。标准用法:
date –(选项) 显示时间格式(以+号开头,后加格式)
date 设定时间格式
选项 功能
-u 使用格林尼治时间
-r 最后一次修改文件的时间
-s 设置时间
常用的几种时间格式如下表所示:
格式 说明
%a 星期几的简称,例如一、二、三
%A 星期几的全名,例如星期一、星期二
%D 日期(mm/dd/yy格式)
%T 显示时间格式,24小时制(hh:mm:ss)
%x 显示日期的格式(mm/dd/yy)
%y 年的最后两个数字
%Y 年(如2007、2008)
%r 时间(hh:mm:ss 上午或下午)
%p 显示上午或下午
如果输入命令:date “+%x,%r”
系统返回如下信息:2010年3月26日,下午 18时06分49秒

4.7 cal命令

cal命令有两种功能:显示月历以及年历。
直接输入cal命令则系统会显示目前月份的月历。
若要显示一整年的年历,可以在cal命令后加4位数的公元年份。例如要显示2008年的年历,必须输入:
cal 2008
若输入 cal 08 ,则最显示公元8年的年历。
若只需要查看某一年份中某一月份的月历,可以输入:cal 月份公元年份。例如输入:"cal 12 2004”。

5.管理使用者和设立权限的命令

命令 说明 命令 说明
chmod 用来改变权限 useradd 用来增加用户
su 用来修改用户

5.1 chmod命令 用来改变许可权限。读取、写入和执行是许可权限中的三个主要设置。因为用户在他们的账号被创建时就被编入一个组群,所以还可以指定那些组群可以读取、写入或执行某一文件。其中:

r— 文件可以被读取
w— 文件可以被写入
x— 文件可以被执行,如果文件是程序的话
可以使用带有-l的ls命令来仔细查看一个文件的许多细节。
chmod命令用来设定文件的权限。标准用法:
chmod 文件的使用者(u,g,o,a)增减(+,-,=)权限名称(r,w,x) 文件
文件的使用者 说明 权限 说明 增减 说明
u 拥有文件的用户 r 读取权 + 添加权限
g 所有者所在的组群 w 写入权 - 删除权限
o 其他人 x 执行权 = 是它称为唯一权限
a 全部(u,g和o)
删除某一文件的所有权限,输入命令:chmod a-rwx test.txt
为文件所有者添加权限,输入命令:chmod u+rwx test
还可以用数字表示权限:4——读取,2——写入,1——执行。下面的两个命令等价:
chmod 751 filename
chmod u+rwx,g=rx,0=x filename

5.2 su命令 用来修改用户。这个命令非常重要,它可以让一个普通的使用者拥有超级用户或其他使用者的权限。不过,这个命令必须具有超级用户或其他使用者的口令才能成为超级用户或其他使用者。如果要离开,可以输入exit。标准用法:

su 用户名 (如果没有输入用户名则预设为root)
举例说明,假设当前用户user01,想要转变为user02,则输入命令:
su user02 系统返回:
password: 此时,输入user02的指令,就会变为user02。

5.3 useradd命令 用来增加用户,只有根用户才能增加用户。如果没有登录为根用户,输入su,再输入根口令即可。

要增加用户,输入命令:useradd 用户名
然后,根据提示为新用户输入一个口令即可。

6.线上查询的命令

命令 功能
man 查询和解释一个命令的使用方法,以及这个命令的说明事项
locate 定位文件和目录
whatis 寻找某个命令的含义

6.1 man命令 用来查询和解释一个命令的使用方法和这个命令的注意事项。这个查询查询在每个Linux上都有。通常,使用者只要输入命令man和这个命令的名称shell就会列出一份完整的说明。标准用法:man 命令的名称

要查询ls命令的说明书页,输入命令:man ls
要翻阅说明书页,可以使用Page Up和Page Down键,或使用空格键向后翻一页,使用b向前翻。要退出说明书页,输入命令q。要在说明书页中搜索关键字,输入命令/和要搜索的关键字或短语,然后按Enter键即可。所有出现在说明书页中的关键字都会被突出显示,允许快速地阅读上下文中的关键字。

6.2 locate命令 主要功能是定位文件和目录。有时候,只知道某一文件或目录存在,却不知道在哪儿,就可以用locate来定位文件和目录。使用locate命令,将会看到每一个包括搜索田间的文件和目录。例如,如果想要搜索带有test的这个词的文件,输入命令:

locate test locate命令使用数据库来定位带有test这个词的文件或目录。

6.3 whatis命令 用来查询某个命令的含义。用法简单,也不需要什么参数,直接在whatis命令后加上所要查询的命令就可以了,但是却很实用。

要查询mv命令的含义,输入命令:whatis mv

7.文件阅读的命令

命令 功能
head 查看文件的开头部分
tail 查看文件结尾的10行
less 一个分页工具,它允许一页一页地(或一个屏幕一个屏幕地)查看信息
more 一个分页工具,它允许一页一页地(或一个屏幕一个屏幕地)查看信息

7.1 head命令 可以用来查看文件的开头部分。此命令的格式是:head 文件名

默认设置,它只查看文件的前10行。但可以通过指定一个数字选项来改变要显示的行数,命令如下:head –20 文件名
这个命令将会查看文件的前20行。

7.2 tail命令

tail命令和head命令恰恰相反。使用tail命令,可以查看文件结尾的10行。这有助于查看日志文件的最后10行来阅读重要的系统信息。还可以使用tail观察日志文件更新的过程。使用-f选项,tail会自动实时地把打开文件中的新信息显示到屏幕上。例如,要活跃地观察/var/log/messages,以根用户身份在shell下输入以下命令:tail –f /var/log/messages

7.3 less命令 与more命令相似。

7.4 more命令 和less的主要区别是,less允许使用箭头来前后移动,而more使用空格键和b键来前后移动。使用ls和more来列举/etc目录下的内容:

ls –al /etc | more
要使用more在文本文件中搜索关键字,按/键并输入命令搜索条目:/foo
使用空格键来先前翻阅页码。按q键退出。
more命令标准格式为:
more [选项] [fileNames]
选项 含义
-num 一次显示的行数
-d 提示使用者,在画面下方显示[Press space to continue, q to quit.],如果使用者按错键,则会显示[Press h for instructions.]而不是哔声
-l 取消遇见特殊字元^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟-p相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号(根据环境变数TERM指定的terminal而有所不同)
+/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第num行开始显示
fileNames 欲显示内容的档案,可为复数个数
例如:more -s testfile 逐页显示testfile之档案内容,如有连续两行以上空白行则以一行空白行显示。
more +20 testfile 从第20行开始显示testfile之档案内容。

8.网络操作命令

命令 功能 命令 功能
ftp 传送文件 telnet 远端登陆
bye 结束连线并结束程序 rlogin 远端登入
ping 检测主机 netstat 显示网络状态

8.1 ftp命令 用来传输文件,非常重要。如果在网络上看到一个很重要的文件,就可以用这个命令把那个文件传到自己的机器上来。

标准用法:ftp (-选项) 主机名称或IP地址
选项 含义
-D 详细显示命令的执行过程,便于排错和分析程序的执行情况
-I 关闭互动模式,不询问任何问题
-G 关闭本地主机文件名称支持特殊字符的扩充特征
-N 不适用自动登录。FTP在启动时,会尝试自动登录远端系统,它会从用户的转述目录中读取.netrc文件的内容,以便自行登录。若该文件不存在,FTP会放弃自动登录,并询问用户的账号名称
-V 显示命令的执行过程
举例说明,用ftp登录ftp.dark.com主机,输入命令:ftp ftp.dark.com
注意:用户必须有相应的存取权限,否则不能从远程系统中获得文件或向远程系统中传输文件。为了使用ftp来传输文件,用户必须知道远程计算机上的合法用户名和口令。

8.2 bye命令

在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行,没有选项。

8.3 ping命令

执行ping命令,它会使用ICMP传输协议,发出要求回应的信息,若远程主机的网络没有什么问题,就会回应信息,因而得知该主机运作正常。
标准用法:
ping (-选项) 主机名称或IP地址
选项 含义
c 次数 设置完成要求回应的次数。ping命令会反复发出信息,直到达到设定的次数为止
D 使用Socket的SO_DEBUG功能
F 大量而且快速地送网络封包给一台机器,看它的回应。一般不到几秒钟,送出去的封包就会超过两千个
I 秒数 指定收发信息的间隔时间,单位为s,预置位1s。与参数f不兼容
S bytes 设置数据包的大小。预设置为56B,加上8B ICMP头文件,共64B
R 忽略网关,直接将数据保送到远程主机上。如果该主机并非局域网的一份子,就会传回错误信息
Q 不显示命令的执行过程,只显示结果
V 详细显示命令的执行过程,包括非回应信息和其它信息
T 存活数值 设置存活数值TTL的大小。TTL是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃
举例说明,检测des.bllod.net主机网络功能是否正常,送出去要去信息需完成5次回应,每次间隔10s,数据包的大小为512B,输入命令:ping –c 5 –i 10 –s 504 –t 64 des.blood.net

8.4 telnet命令 主要功能是进行远程登录。该命令允许用户在使用telnet协议的远程计算机之间进行通信,用户可以通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过telnet登录计算机,必须知道远程计算机上的合法用户名和口令。telnet只为普通终端提供终端仿真,而不支持X Window等图形环境。

标准用法:telnet 主机名或IP
例如登录IP地址为140.114.63.12的计算机,输入命令:
telnet 140.114.63.12
一旦telnet成功连接到远程系统上,就显示登录信息,并提示用户输入用户名和口令。如果用户名和口令正确,就能成功登录并在远程系统上工作。用户结束了远程会话后,一定要确保使用logout命令退出远程系统。然后telnet报告远程会话被关闭,并返回到用户本地机的shell提示符下。

8.5 rlogin命令 用来远程登录的。它的英文含义是remote login。该命令与telnet命令很相似,允许用户启动远程系统上的交互命令会话。用法:

rlogin (-选项) host
选项 含义
8 允许输入8位字符数据
E 为rlogin会话设置转义字符,默认的转义字符是“~”,用户可以指定一个文字字符或一个/nnn形式的八进制数
E 停止任何转义字符。当与-8选项一起使用时,它提供一个完全透明的链接
L 用户名称 指定要登入远端主机的用户名称
L 使用litout模式进行远端登入操作
例如,要登入别人的计算机。输入命令:rlogin –l inin 140.114.125.24

8.6 netstat命令

netstat命令的主要功能是了解Linux系统的网络情况。假设没有指定任何参数给netstat命令,则效果和指定-F参数相同。用法:netstat (-选项)
选项 说明
a 显示所有连线中的Socket
F 显示FIB
A 全部列出,包括正在等待的程序
c 持续列出网络状态
I 显示网络界面信息
n 使用网络ip地址代替名称
o 显示计时器
r 显示网络路径表
t 显示TCP协议的连接情形
u 显示UDP协议的连接情形
v 显示版本信息
w 显示RAW传输协议的连接情形
which 语法 which command
说明 依序从path环境变量所列的目录中找出command的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录。
范例,找出ls命令的程序文件的位置:which ls
系统输出:/usr/bin/ls
whereis 语法 whereis [option] name
说明 找出特定程序的可执行文件、源代码文件以及manpage的路径。你所提供的name会被先除去前置的路径以及任何.ext形式的扩展名。
whereis 只会在标准的Linux目录中进行搜索。
常用选项
-b 只搜索可执行文件。
-m 只搜索manpage。
-s 只搜索源代码文件。
-B directory 更改或限定搜索可执行的文件的目录。
-M directory 更改或限定搜索manpage的目录。
-S directory 更改或限定搜索源代码文件的目录。
find 语法 find paths expression [action]
说明 以paths为搜索起点逐层往下找出每一个符合expression条件的文件,并对该文件执行action所代表的动作。expression是搜索条件,它由一个代表匹配项目的选项以及一个代表匹配模式的参数构成。
action是处理动作,它有一个代表“处理方式”的选项以及一个操作参数构成。若不指定action,则默认动作是显示出文件名。

常用的搜索条件
-name pattern
-path pattern
-lname pattern
找出名称、路径名称或符号链接的目标匹配pattern模式的文件。pattern可以包含shell的文件名通配符,路径是相对于搜索起点的。

常见处理动作
-print 显示出文件的相对路径(相对于搜索起点)。
-exec cmd /; 执行指定的shell命令。若cmd含有任何shell特殊字符,则他们之前都必须加上/符号,以免shell立刻执行他们。在cmd里,可以用”{}”符号(包括双引号)表示find所找出的文件。
locate 语法 locate patterns
说明 第一次执行locate时,它会建立一个索引数据库,当往后再次执行时,它便从索引数据库中迅速找出文件的位置。locate很适合用来反复搜索很少变动的目录树,但是对于刚改名的旧文件以及新建的文件,locate就找不到了,除非重建数据库。
updatedb 语法 updatedb [option]
说明 更新slocate的索引数据库。
选项 -e directories 略过directories所列的目录。

9.其他命令

命令 功能
echo 显示一字串
passwd 修改密码
clear 清除显示器
lpr 打印
lpq 查看在打印队列中等待的作业
lprm 取消打印队列中的作业

9.1 echo命令

echo命令用来在显示器上输出一段文字,这个命令常用来输出一些提示信息,因此这个命令的意义在于输出一些文字。它的用法也很简单:
echo –(参数) 字串 (可以用"”,也可以不用,显示略有区别)
参数n代表输出文字后不换行,如果不加参数会自动换行。
输入命令:echo “welcome to use Linux”
输出结果为:welcome to use Linux
如果不加"”,则输出结果为:welcome to use Linux
它们的区别在于后一个输出,每两个输出之间只隔一个空格,这是因为echo把这些输出看做字串的缘故。

9.2 clear命令 clear命令的主要功能是清除显示器,这个命令很简单,只要输入clear即可。

9.3 passwd命令 修改用户的密码。

在shell下输入 passwd 然后,根据提示输入旧密码和新密码即可。

9.4 lpr命令

lpr命令的功能是把指定的文件发送到打印队列中。例如,lpr foo.txt 会打印 foo.txt 文件。
标准用法:lpr filename
要查看在打印队列中等待的作业,在命令行中输入命令lpq。系统返回如下信息:
active root 389 foo.txt
在这个例子中,389是作业号码。还可以取消打印队列中的作业,格式是:
lprm 作业号码 输入命令:lprm 389 这样就去修了 foo.txt 打印作业。

posted @ 2024-03-10 00:05  初仰  阅读(7)  评论(0编辑  收藏  举报