1. 文件、目录操作

1.1 ls 命令; 功能:显示文件和目录的信息

ls       以默认方式显示当前目录文件列表ls -a    显示所有文件包括隐藏文件ls -l    显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行ls -lh   显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)ls -lt   显示文件,按照修改时间排序复制代码

1.2 cd 命令;功能:改名目录

cd dir   切换到当前目录下的dir目录cd /     切换到根目录cd ..    切换到到上一级目录cd ../.. 切换到上二级目录cd ~     切换到用户目录,比如是root用户,则切换到/root下复制代码

根目录与家目录的区别:

根目录是系统的一级文件结构,家目录只是非root用户控制目录。

相当于 windows 我的文档,非root用户只能完会控制家目录的文件,不能控制根目录下其它的文件。

根目录是设备的最顶层目录,用 / 表示

家目录是每个用户登录系统后所在的目录,通常在 /home 下,以用户名作为目录,可以用 ~ 表示。

cd / 进入根目录

cd ~/ 进入家目录

可以用 /home/someone 进入 someone 的家目录

1.3 cp 命令; 功能:复制文件

cp source target                    将文件source复制为targetcp /root/source .                   将/root下的文件source复制到当前目录eg:# cp/home/open_038_dev/external_files/test/test.sh .cp –av soure_dir target_dir         将整个目录复制,两目录完全一样cp -r 源文件 目标文件                  复制文件夹eg:# cp -r  views views.bak            以 views 为源文件,复制一个 views.bak 文件复制代码

1.4 rm 命令; 功能:删除文件或目录

rm file          删除文件filerm -f file        删除时候不进行提示。可以于r参数配合使用rm -rf domed     删除domed目录(文件夹)以及它所包含的所有内容rm -i a*          删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认复制代码

1.5 mv 命令; 功能:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令

命令参数:-b :若需覆盖文件,则覆盖前先行备份。-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!-u :若目标文件已经存在,且 source 比较新,才会更新(update)-t :--target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,  即指定 mv 的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后# 将文件source更名为target mv source target #  将文件log1.txt,log2.txt,log3.txt 移动到目录test3中                                    mv log1.txt log2.txt log3.txt test3#  将文件log1.txt log2.txt  log3.txt 移动到 /opt/soft/test/test4 目录下                      mv -t /opt/soft/test/test4/ log1.txt log2.txt  log3.txt#  移动当前文件夹下的所有文件到上一级目录  mv * ../复制代码

1.6 diff 命令; 功能:比较文件内容

# 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出diff dir1 dir2 # 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的diff file1 file2# 比较文件,显示两个文件不相同的内容 comm file1 file2 复制代码

1.7 ln 命令; 功能:建立链接

ln source_path target_path 硬连接ln -s source_path target_path 软连接ln 是 linux 中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用 ln 命令链接(link)它就可以,不必重复的占用磁盘空间。eg:ln –s /bin/less /usr/local/bin/less删除软连接rm –rf /target     注意:不要在后文件名后面加斜杆 “/” 否则会删除文件夹的内容复制代码

1.8 mkdir 命令; 功能:创建目录

mkdir [选项] 目录名 选项所在路径:/bin/mkdir执行权限:所有用户功能描述:创建空目录复制代码

1.9 pwd 命令; 功能:查询所在目录

所在路径:/bin/pwd执行权限:所有用户。功能描述:查询所在的工作目录复制代码

1.10 sz 命令; 功能:下载文件到本地下载目录

sz 文件路径复制代码

1.11 rz 命令; 功能:本地上传文件到服务器会跳出文件选择窗口,选择好文件,点击确认即可

rzrz -y       把文件上传到Linux中,如果有相同文件名的文件,会将其覆盖;rz -E       把文件上传到Linux中,如果有相同文件名的文件,不会将其覆盖,     而是会在所上传文件后面加上 .0 ,两个文件都会存在与此目录中,再次上传则会在文件名后加上 .1,以此类推;复制代码

ps:

检查是否已经有该命令

如果没有安装对应的rpm包,则当你输入 rz、sz 则会有如下提示

[root@vdedu test]# sz-bash: sz: command not found[root@vdedu test]# rz-bash: /usr/bin/rz: No such file or directory复制代码

安装 lrzsz

​lrzsz​​ 是一个unix通信套件提供的X,Y,和ZModem文件传输协议。

yum -y install lrzsz复制代码

2. 解压、压缩(打包)命令

减少文件大小的好处:一是可以减少存储空间;二是通过网络传输文件时,可以减少传输的时间;

2.1 tar 命令; 功能:归档、压缩等

.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName———————————————.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩: bzip2 -z FileName.tar.bz2解压:tar jxvf FileName.tar.bz2压缩:tar jcvf FileName.tar.bz2 DirName———————————————.bz解压1:bzip2 -d FileName.bz解压2:bunzip2 FileName.bz压缩:未知.tar.bz解压:tar jxvf FileName.tar.bz压缩:未知———————————————.Z解压:uncompress FileName.Z压缩:compress FileName.tar.Z解压:tar Zxvf FileName.tar.Z压缩:tar Zcvf FileName.tar.Z DirName———————————————.zip解压:unzip FileName.zip压缩:zip FileName.zip DirName———————————————.rar解压:rar x FileName.rar压缩:rar a FileName.rar DirName———————————————.lha解压:lha -e FileName.lha压缩:lha -a FileName.lha FileName———————————————.rpm解包:rpm2cpio FileName.rpm | cpio -div———————————————.deb解包:ar p FileName.deb data.tar.gz | tar zxf -复制代码

2.2 gzip 命令; 功能:压缩gz格式的文件

gzip 属于 GNU 软件,是 linux 系统首选的压缩工具,tar 归档命令的 -z 选项压缩也是利用 gzip/gunzip 来压缩/解压文件。

gzip 生成 .gz 文件

语法:gzip [选项] [文件或目录…]参数:-c 或–stdout或 –to-stdout 将压缩(解压)的内容输出到标准输出设备上,并保留原有文件-d 或–decompress 解压-l 或–list 如果目标文件是压缩文件,则显示压缩大小,解压后大小,压缩比率,解压后文件名。-r 或 –recursive 递归压缩-t 或 –test 测试,检查压缩文件的完整性-v 或 –verbose 对每一个文件,显示文件名和压缩比。-V 或 –version 显示版本号-num 指定压缩的速度-1或–fast表示快速(低压缩比)-9或–best慢(高压缩比)复制代码
eg:1. 压缩当前目录下的所有文件linux@ubuntu:~/test$ lsa  b  桃花岛.mp3   #有三个文件linux@ubuntu:~/test$ gzip *  #压缩所有文件linux@ubuntu:~/test$ lsa.gz  b.gz  桃花岛.mp3.gz  #分别生成对应的.gz文件,但原始文件被删除了。2. 解压例1中的所有文件,并显示压缩比linux@ubuntu:~/test$ gzip --decompress -v *a.gz: 1.3% -- replaced with ab.gz: 1.3% -- replaced with b桃花岛.mp3.gz: 1.3% -- replaced with 桃花岛.mp33. 显示例1中的所有的压缩文件的信息linux@ubuntu:~/test$ gzip --list *compressed        uncompressed  ratio uncompressed_name5566197             5638272   1.3% a5566197             5638272   1.3% b5566209             5638272   1.3% 桃花岛.mp316698603            16914816   1.3% (totals)可以看出压缩完,未压缩时,压缩率,解压后的文件名。4、对test目录下的文件压缩(可以用递归的方式进行压缩)linux@ubuntu:~$ ls testa  b  桃花岛.mp3linux@ubuntu:~$ gzip --recursiv test  #对目录下的文件进行压缩linux@ubuntu:~$ ls testa.gz  b.gz  桃花岛.mp3.gz   #可以看出并没生成一个压缩文件,而是对目录下的文件分别压缩,这表示并不是生成一个包,那就是说不能对目录进行压缩,可以用tar打包,之后再进行压缩。tar -cf test.tar test/ tar -zcf test.tar.gz test/ 也是可以的,用tar -zxf解压之后再进行gzip test.tar进行压缩复制代码

注意:

  1. 指定压缩文件必须存在。
  2. 不对目录进行压缩,但可以递归目录下的文件进行压缩。

Linux 常用 shell 命令_ubuntu

3. 查看文件内容命令

3.1 cat 命令; 功能:显示文件的内容

cat file 复制代码

3.2 tail 命令; 功能:显示文件的最后几行

eg:tail -n 100 aaa.txt       显示文件aaa.txt文件的最后100行复制代码

3.3 more 命令; 功能:分页显示命令

more filemore 命令也可以通过管道符 | 与其他的命令一起使用eg:ps ux|morels|more复制代码

3.4 vi 命令;

输入命令的方式(步骤):1. 执行 vi FileName  进入编辑器(默认命令模式),2. 点击a或i进入编辑模式,敲入内容:如 hello linux world !3. 然后按键盘上的esc键退出编辑模式(进入到命令模式),4. 最后敲冒号 :,5. 再敲 wq! 保存并退出。-------wq 解释为:write quite不想保存,q强制退出 q!复制代码

3.5 touch 命令; 功能:创建一个空文件

touch aaa.txt               创建一个空文件,文件名为 aaa.txt复制代码

4. 基本系统命令

4.1 man 命令; 功能:查看某个命令的帮助

eg:man ls          显示ls命令的帮助内容复制代码

4.2 w 命令; 功能:显示登录用户的详细信息

weg:22:06:51 up 43 min,  1 user,  load average: 0.00, 0.00, 0.00USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHATzhoulj   pts/0    10.140.0.109     21:24    0.00s  0.85s  0.09s sshd: zhoulj [priv]复制代码

4.3 who 命令; 功能:显示登录用户

whoeg:zhoulj   pts/0        Mar 13 21:24 (10.140.0.109)复制代码

4.4 last 命令; 功能:查看最近那些用户登录系统

lasteg:zhoulj   pts/0        10.140.0.109     Mon Mar 13 21:24   still logged inreboot   system boot  2.6.8-2-386      Mon Mar 13 21:23          (00:43)zhoulj   pts/0        10.140.0.105     Sun Mar 12 22:51 - down   (00:00)zhoulj   pts/0        10.140.0.105     Sun Mar 12 22:51 - 22:51  (00:00)root     tty1                          Sun Mar 12 22:50 - down   (00:01)root     tty1                          Sun Mar 12 22:46 - 22:48  (00:02)root     tty1                          Sun Mar 12 22:43 - 22:46  (00:02)reboot   system boot  2.6.8-2-386      Mon Mar 13 06:34          (-7:-41)wtmp begins Mon Mar 13 06:34:11 2006复制代码

4.5 date 命令; 功能:系统日期设定

date                           显示当前日期时间date -s 20:30:30               设置系统时间为20:30:30date -s 2002-3-5               设置系统时期为2003-3-5date -s "060520 06:00:00"      设置系统时期为2006年5月20日6点整复制代码

4.6 clock 命令; 功能:时钟设置

clock –r    对系统Bios中读取时间参数clock –w    将系统时间(如由date设置的时间)写入Bios复制代码

4.7 uname 命令; 功能:查看系统版本

uname -a 显示操作系统内核的versioneg:Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux复制代码

4.8 关闭和重新启动系统命令

reboot               重新启动计算机shutdown -r now       重新启动计算机,停止服务后重新启动计算机shutdown -h now       关闭计算机,停止服务后再关闭系统halt                  关闭计算机复制代码

4.9 su 命令; 功能:切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码注意:- 很关键,使用 - 将使用用户的环境变量

su -                    切换到root用户su - zhoulj             切换到zhoulj用户,复制代码

5. 监视系统状态命令

5.1 top 命令; 功能:查看系统cpu、内存等使用情况

top复制代码

5.2 free 命令; 功能:查看 内存 和 swap分区 使用情况

free -tmeg:              total        used        free      shared  buff/cache   availableMem:          31980        8478         288       11681       23212       11185Swap:         20479         194       20285复制代码

5.3 uptime 命令;功能:现在的时间 ,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载

uptimeeg:23:27:33 up 123 days, 10:25,  3 users,  load average: 1.13, 1.10, 1.19复制代码

5.4 vmstat 命令; 功能:监视虚拟内存使用情况

vmstategprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st13  0 204032 325884      0 23746456    0    0     0     1    0    0  1  1 98  0  0复制代码

5.5 ps 命令; 功能:显示进程信息

ps ux 显示当前用户的进程ps uxwww 显示当前用户的进程的详细信息ps aux 显示所有用户的进程ps ef 显示系统所有进程信息复制代码

5.6 kill 命令; 功能:干掉某个进程,进程号可以通过 ps 命令得到

kill -9 1001                   将进程编号为1001的程序干掉kill all -9 apache             将所有名字为apapche的程序杀死,kill不是万能的,对僵死的程序则无效。复制代码

6. 用户和组相关命令

6.1 groupadd 命令; 功能:添加组

groupadd test1                   添加test1组groupadd -g 1111 test2           添加test2组,组id为1111复制代码

6.2 useradd 命令; 功能:添加用户

useradd user1                                添加用户user1,home为/home/user1,组为user1useradd -g test1 -m -d /home/test1 test1     添加用户test1,home为/home/test1,组为test1user list                                   显示已登陆的用户列表复制代码

6.3 passwd 命令; 功能:更改用户密码

passwd user1      修改用户user1的密码passwd -d root    将root用户的密码删除复制代码

6.4 userdel 命令; 功能:删除用户

userdel user1     删除user1用户复制代码

6.5 chown 命令; 功能:改变文件或目录的所有者

chown user1 /dir              将/dir目录设置为user1所有chown -R user1.user1 /dir     将/dir目录下所有文件和目录,设置为user1所有,组为user1。-R递归到下面的每个文件和目录复制代码

6.6 chgrp 命令; 功能:改变文件或目录的所有组

chgrp user1 /dir     将/dir目录设置为user1所有复制代码

6.7 chmod 命令; 功能:改变用户的权限

chmod a+x file        将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行chmod 666 file        将文件file设置为可读写chmod 750 file         将文件file设置为,所有者为完全权限,同组可以读和执行,其他无权限复制代码

6.8 id 命令; 功能:显示用户的信息,包括 uid、gid 等

id zhoulj eg: uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)复制代码

6.9 finger 命令; 功能:显示用的信息

注意:debian 下没有该命令

finger zhouljeg:Login: zhoulj                           Name:Directory: /home/zhoulj                 Shell: /bin/bashOn since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4No mail.No Plan.复制代码

7. 磁盘操作命令

7.1 df 命令; 功能:检查文件系统的磁盘空间占用情况

参数-a                   列出全部目录-Ta                  列出全部目录,并且显示文件类型-B                   显示块信息-i                   以i节点列出全部目录-h                   按照日常习惯显示(如:1K、100M、20G)-x [filesystype]     不显示[filesystype]df -Theg:Filesystem     Type      Size  Used Avail Use% Mounted on/dev/sda3      xfs       259G   53G  206G  21% /devtmpfs       devtmpfs   16G     0   16G   0% /devtmpfs          tmpfs      16G     0   16G   0% /dev/shmtmpfs          tmpfs      16G  1.6G   15G  10% /runtmpfs          tmpfs      16G     0   16G   0% /sys/fs/cgroup/dev/sda1      xfs       497M  169M  329M  34% /boottmpfs          tmpfs     3.2G   56K  3.2G   1% /run/user/1000tmpfs          tmpfs     3.2G     0  3.2G   0% /run/user/1002tmpfs          tmpfs     3.2G     0  3.2G   0% /run/user/0复制代码

7.2 du 命令; 功能:检测一个目录和(递归地)所有它的子目录中的文件占用的磁盘空间

-s [dirName]     显示目录占用总空间-sk [dirName]    显示目录占用总空间,以k为单位-sb [dirName]    显示目录占用总空间,以b为单位-sm [dirName]    显示目录占用总空间,以m为单位-sc [dirName]    显示目录占用总空间,加上目录统计-sh [dirName]    只统计目录大小eg:du -sh views# 192K    views复制代码

7.3 mount 命令; 功能:使用mount命令就可在Linux中挂载各种文件系统

格式:mount -t  设备名  挂载点(1) mount /dev/sda1  /mnt/filetest mount -t vfat /dev/hda  /mnt/fatfile  mount -t ntfs /dev/hda  /mnt/ntfsfile mount -t iso9660 /dev/cdrom  /mnt/cdrom mount -o  设备名 挂载点(2) 使用usb设备  modprobe usb-storage  mkdir /mnt/usb  mount -t auto /dev/sdx1 /mnt/usb  umount /mnt/usb复制代码

7.4 mkswap 命令; 功能:使用 mkswap 命令可以创建 swap 空间

eg:mkswap -c /dev/hda4# 启用新创建的swap空间,停用可使用swapoff命令swapon /dev/hda4复制代码

7.5 fdisk 命令; 功能:对磁盘进行分区

fdisk /dev/xxx       格式化xxx设备(xxx是指磁盘驱动器的名字,例如hdb,sdc)fdisk -l             显示磁盘的分区表复制代码

7.6 mkfs 命令; 功能:格式化文件系统,可以指定文件系统的类型,如ext2、ext3、fat、ntfs等

-b    块大小-i    节点大写-m    预留管理空间大小格式1:mkfs.ext3 options /dev/xxx格式2:mkfs -t ext2 options /dev/xxxeg:mkfs.ext3 /dev/sdb1复制代码

7.7 e2fsck 命令; 功能:磁盘检测

e2fsck /dev/hda1         检查/dev/hda1是否有文件系统错误,提示修复方式e2fsck -p /dev/hda1      检查/dev/hda1是否有错误,如果有则自动修复e2fsck -y /dev/hda1      检查错误,所有提问均于yes方式执行e2fsck -c /dev/hda1      检查磁盘是否有坏区复制代码

7.8 tune2fs 命令; 功能:调整ext2/ext3文件的参数

-l     查看文件系统信息-c     设置强制自检的挂载次数-i     设置强制自检的间隔时间,单位天-m     保留块的百分比-j     将 ext2 文件系统转换成 ext3 格式eg:tune2fs -l /dev/sda1复制代码

7.9 dd 命令; 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换

dd if = /dev/fd0 of=floppy.img 将软盘的内容复制成一个镜像dd if = floppy.img of=/dev/fd0 将一个镜像的内容复制到软盘,做驱动盘的时候经常用。复制代码

8. 网络相关命令

8.1 ifconfig 命令; 功能:显示修改网卡的信息

ifconfig            显示网络信息ifconfig eth0       显示eth0网络信息修改网络信息:ifconfig eth0 192.168.1.1 netmask 255.255.255.0   设置网卡1的地址192.168.1.1,掩码为255.255.255.0ifconfig eth0:1 192.168.1.2                      捆绑网卡1的第二个地址为192.168.1.2ifconfig eth0:x 192.168.1.n                      捆绑网卡1的第n个地址为192.168.1.n复制代码

8.2 route 命令; 功能:显示当前路由设置情况

route                          显示当前路由设置情况,比较慢一般不用。route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254          添加静态路由route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254          添加静态路由route add default gw 192.168.1.1 metric1                             设置192.168.1.1为默认的路由route del default                                                    将默认的路由删除eg:# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254# netstat -nrKernel IP routing tableDestination     Gateway         Genmask         Flags   MSS Window  irtt Iface192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth010.0.0.0        192.168.1.254   255.255.0.0     UG        0 0          0 eth0169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth00.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 eth0# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254   # netstat -nrKernel IP routing tableDestination     Gateway         Genmask         Flags   MSS Window  irtt Iface192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth00.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 eth0复制代码

8.3 netstat 命令; 功能:显示网络状态

netstat -an                   查看网络端口信息netstat -nr                   查看路由表信息,比route快多了netstat -ntlp|grep 7007       查看7007端口信息复制代码

8.4 启动网络的命令; 功能:显示网络状态

redhat族的命令: /etc/init.d/networkdebian命令: /etc/init.d/networkingeg:/etc/init.d/network stop     停止网络/etc/init.d/network start    启动网络复制代码

8.5 网络排错

(1) ping命令(2) traceroute命令; 功能:路由跟踪 traceroute  traceroute 207.68.173.7(3)nslookup命令; 功能:域名解析排错复制代码

9. 其他命令

9.1 ssh 命令; 功能:远程登陆到其他UNIX主机

ssh -l user1 192.168.1.2     使用用户名user1登陆到192.168.1.2复制代码

9.2 scp 命令; 功能:安全copy

scp abc.tar.gz    将本地的 abc.tar.gz 复制到 192.168.1.5的 user1 用户的根(/home/user1)下。复制代码

9.3 telnet命令; 功能:登陆到远程主机

eg:telnet 192.168.1.5复制代码