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复制为target cp /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 删除文件file rm -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 命令; 功能:本地上传文件到服务器
会跳出文件选择窗口,选择好文件,点击确认即可
rz rz -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$ ls a b 桃花岛.mp3 #有三个文件 linux@ubuntu:~/test$ gzip * #压缩所有文件 linux@ubuntu:~/test$ ls a.gz b.gz 桃花岛.mp3.gz #分别生成对应的.gz文件,但原始文件被删除了。 2. 解压例1中的所有文件,并显示压缩比 linux@ubuntu:~/test$ gzip --decompress -v * a.gz: 1.3% -- replaced with a b.gz: 1.3% -- replaced with b 桃花岛.mp3.gz: 1.3% -- replaced with 桃花岛.mp3 3. 显示例1中的所有的压缩文件的信息 linux@ubuntu:~/test$ gzip --list * compressed uncompressed ratio uncompressed_name 5566197 5638272 1.3% a 5566197 5638272 1.3% b 5566209 5638272 1.3% 桃花岛.mp3 16698603 16914816 1.3% (totals) 可以看出压缩完,未压缩时,压缩率,解压后的文件名。 4、对test目录下的文件压缩(可以用递归的方式进行压缩) linux@ubuntu:~$ ls test a b 桃花岛.mp3 linux@ubuntu:~$ gzip --recursiv test #对目录下的文件进行压缩 linux@ubuntu:~$ ls test a.gz b.gz 桃花岛.mp3.gz # 可以看出并没生成一个压缩文件,而是对目录下的文件分别压缩,这表示并不是生成一个包, 那就是说不能对目录进行压缩,可以用tar打包,之后再进行压缩。 tar -cf test.tar test/ tar -zcf test.tar.gz test/ 也是可以的,用tar -zxf解压 之后再进行gzip test.tar进行压缩
注意:
- 指定压缩文件必须存在。
- 不对目录进行压缩,但可以递归目录下的文件进行压缩。
3. 查看文件内容命令
3.1 cat 命令; 功能:显示文件的内容
cat file
3.2 tail 命令; 功能:显示文件的最后几行
eg: tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行
3.3 more 命令; 功能:分页显示命令
more file more 命令也可以通过管道符 | 与其他的命令一起使用 eg: ps ux|more ls|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 命令; 功能:显示登录用户的详细信息
w eg: 22:06:51 up 43 min, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT zhoulj pts/0 10.140.0.109 21:24 0.00s 0.85s 0.09s sshd: zhoulj [priv]
4.3 who 命令; 功能:显示登录用户
who eg: zhoulj pts/0 Mar 13 21:24 (10.140.0.109)
4.4 last 命令; 功能:查看最近那些用户登录系统
last eg: zhoulj pts/0 10.140.0.109 Mon Mar 13 21:24 still logged in reboot 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:30 date -s 2002-3-5 设置系统时期为2003-3-5 date -s "060520 06:00:00" 设置系统时期为2006年5月20日6点整
4.6 clock 命令; 功能:时钟设置
clock –r 对系统Bios中读取时间参数 clock –w 将系统时间(如由date设置的时间)写入Bios
4.7 uname 命令; 功能:查看系统版本
uname -a 显示操作系统内核的version eg: 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 -tm eg: total used free shared buff/cache available Mem: 31980 8478 288 11681 23212 11185 Swap: 20479 194 20285
5.3 uptime 命令;
功能:现在的时间 ,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载
uptime eg: 23:27:33 up 123 days, 10:25, 3 users, load average: 1.13, 1.10, 1.19
5.4 vmstat 命令; 功能:监视虚拟内存使用情况
vmstat eg procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 13 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,组为user1 useradd -g test1 -m -d /home/test1 test1 添加用户test1,home为/home/test1,组为test1 user 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 zhoulj eg: Login: zhoulj Name: Directory: /home/zhoulj Shell: /bin/bash On since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4 No mail. No Plan.
7. 磁盘操作命令
7.1 df 命令; 功能:检查文件系统的磁盘空间占用情况
参数 -a 列出全部目录 -Ta 列出全部目录,并且显示文件类型 -B 显示块信息 -i 以i节点列出全部目录 -h 按照日常习惯显示(如:1K、100M、20G) -x [filesystype] 不显示[filesystype] df -Th eg: Filesystem Type Size Used Avail Use% Mounted on /dev/sda3 xfs 259G 53G 206G 21% / devtmpfs devtmpfs 16G 0 16G 0% /dev tmpfs tmpfs 16G 0 16G 0% /dev/shm tmpfs tmpfs 16G 1.6G 15G 10% /run tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/sda1 xfs 497M 169M 329M 34% /boot tmpfs tmpfs 3.2G 56K 3.2G 1% /run/user/1000 tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/1002 tmpfs 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/xxx eg: 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.0 ifconfig eth0:1 192.168.1.2 捆绑网卡1的第二个地址为192.168.1.2 ifconfig 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 -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.0.0.0 192.168.1.254 255.255.0.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.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 -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.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/network debian命令: /etc/init.d/networking eg: /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