============================================
系统负载
free
功能:
查看内存状态。常用命令有free,top,vmstat
格式:
total 内存总容量
used 使用量
free 剩余量
shared 系统当前共享内存(shm)的大小
buffers "内存使用量"中的内核缓存大小
cached "内存使用量"中的磁盘缓存大小
注意:
内存的真实使用量=used - (buffers+cached)
uptime
功能: 查看系统【从上次重启后的运行时间】,【当前登录到系统中的用户数】,【系统平均负载】
load average格式:
显示当前【1分钟、5分钟、15分钟】内位于运行队列(等待CPU时间)里的进程数量。
对单颗CPU来说,通常等待CPU时间的进程不应当超过3个;超过3个表示系统负载较高;超过5个表示负载相当高。
对多颗CPU来说,12以内的进程等待数都是可以接受的。
iostat
功能:查看磁盘负载
格式:
【avg-cpu】 cpu使用情况
iowait 在最近时间段内由于等待磁盘I/O而占用的CPU资源。
这个值越高,说明有越多进程因为磁盘I/O问题而处于等待状态,也意味着磁盘性能对系统性能的影响越大。
【Device】 各个磁盘分区的使用情况
tps transfers per second,每秒对该设备的I/O请求(r|w)数量。
Blk_read/s 每秒从该设备读取的块数量
Blk_write/s 每秒从该设备写入的块数量
Blk_read 统计时间内从该设备读取的总块数量
iftop工具
功能: 实时监控网络流量参数:(iftop -h查看) iftop -n //直接显示ip,不进行DNS反解
iftop -N //显示ip+port
iftop -i eth1 //监控eth1的流量
iftop -B //以bytes显示
iftop -F xxx.xxx.xxx.xxxx/x //显示特定网段的流量
注:
进入iftop界面
a) 按p切换是否显示port
b) n切换ip与主机名
c) N切换port与服务名称
d) b切换是否显示长条
e) B切换计算几秒内的平均流量。
f) 配置文件: ~/.iftoprc
Swap分区操作
1.添加SWAP:
1)设置swap路径及大小: dd if=/dev/zero of=/var/swap bs=1024 count=8192000
(内存4G,swap习惯设为其2倍)
2)设置交换文件: mkswap /var/swap
3)启用交换分区: swapon /var/swap
4)开机自挂: /etc/fstab=>/var/swap swap swap defaults 0 0
2.卸载Swap分区: swapoff /dev/sda3
磁盘管理
du: 使用的空间大小。e.g: du -sh /mnt
df: 剩余空间大小。e.g: df -h
fdisk : 查看硬盘分区状况,同时也是硬盘分区工具。e.g: fdisk -l
hdparm
mkfs.ext3 /dev/hdb1 //格式化硬盘成ext3格式
编辑/etc/fstab:可使硬盘在启动时自动挂载:
【附】基础知识
控制器对磁盘的指令分为两大体系:
ATA指令集
接口类型有:IDE接口(PATA)、SATA接口
SCSI指令集
接口类型有:并行SCSI接口、SAS接口(串行SCSI)。
——SAS接口兼容SATA接口,SAS环境中可以直接使用SATA硬盘,但SATA环境中不能直接使用SAS硬盘。
============================================
crontab [-u user] [-e|-l|-r]
功能:
在一定的时间间隔内调度特定命令执行。/etc/crontab文件存放调度程序。
参数:
-u 设定用户user的cron服务
-e 编辑用户的cron服务
-l 列出用户的cron服务
-r 删除用户的cron服务
举例:
查看oracle的cron服务:crontab -u oracle -l
删除oracle的cron设置:crontab -u oracle -r
重点:
编辑oracle的cron设置:crontab -u oracle -e
编辑格式:
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * Command to be executed
举例:
每天早上6点向/tmp/record中记录"Good Morning": 0 6 * * * echo "Good morning." >> /tmp/test.txt
Crontab文件
说明:
crontab命令针对用户,/etc/crontab针对系统任务。
cron服务每分钟读一次/var/spool/cron/中的所有文件,也读一次/etc/crontab。
*表示每分钟(小时、天、月、星期)都要执行Script。
a,b,c,...表示第a,b,c,...分钟(小时、天、月、星期)执行Script。
举例:
每晚的21:30重启httpd:30 21 * * * /etc/rc.d/init.d/httpd restart
每天早上上班时间的整点检测服务状态: 0 8,9,10,11,12 *** /xxx/xxx/xxx status
============================================
安装:
rpm -ivh 【*.rpm】
卸载: rpm -e 【*.rpm】
查看依赖关系: rpm -qpR 【*.rpm】
查询: rpm -q 【SoftwareName】
============================================
【网络命令】
1.
arp 解析ip与主机名
2.
traceroute 跟踪路由
3.
nslookup 查询DNS域名
e.g.:
[xxx]#nslookup
>202.117.21.126
结果:
Server: 202.117.0.20
Address: 202.117.0.20#53
126.21.117.202.in-addr.arpa name = 21h126.xjtu.edu.cn.
4.
Lsof
# lsof -Pnl +M -i4 #查看IPv4协议端口
# lsof -Pnl +M -i6 #查看IPv6协议端口
-P:约束网络文件的端口号到端口名称的转换。约束转换可以使lsof运行得更快一些。在端口名称的查找不能奏效时,这是很有用的。
-n:这个选项约束着网络文件的端口号到主机名称的转换。约束转换可以使lsof的运行更快一些。在主机名称的查找不能奏效时,它非常有用。
-l:这个选项约束着用户ID号到登录名的转换。在登录名的查找不正确或很慢时,这个选项就很有用。
+M:此选项支持本地TCP和UDP端口映射程序的注册报告。
-i4:仅列示IPv4协议下的端口。
-i6:仅列示IPv6协议下的端口。
Netstat
# netstat -tulpn 或 # netstat -npl
-t:指明显示TCP端口
-u:指明显示UDP端口
-l:仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p:显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n:不进行DNS轮询(可以加速操作)
查看本机服务端口: netstat -tln
查看端口 lsof -i: 80 或 netstat -anp | grep 80
/etc/services文件
/etc/services:纯ASCII文件,提供互联网服务的友好名称,以及默认分配的端口号和协议类型。每一个网络程序都要进入这个文件得其服务的端口号(和协议)。
"
"是在输入模式下先按下CTRL-V,后再按下键,显示为^[。
getconf LONG_BIT 显示系统多少位
============================================
Time
【格式】time [-p] command [arguments...]
【说明】
执行命令行"command [arguments...]",命令行执行结束时在标准输出中打印执行该命令行的时间统计结果,其统计结果包含以下数据:
1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间;
2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。
其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总 和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。
netstat: 查看网络状况。特定参数很有用
file +"file": 显示文件类型
时间shell
$ date // 显示当前日期
$ time // 显示程序运行的时间
$ hwclock // 显示与设定硬件时钟
$ clock // 显示与设定硬件时钟,是hwclock的链接文件
$ cal // 显示日历
============================================
用户和用户组管理
1、建用户:
adduser phpq //新建phpq用户
passwd phpq //给phpq用户设置密码
2、建工作组
groupadd test //新建test工作组
3、新建用户will及其工作组、home目录和密码 useradd -d /home/will -g mpi -s /bin/bash -p [passwd] will
注::-g 所属组 -d 家目录 -s 所用的SHELL
4、给已有的用户增加工作组
usermod -G groupname username
或者:gpasswd -a user group
5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。
或者使用如下命令关闭用户账号:
passwd peter –l
重新释放:
passwd peter –u
6、永久性删除用户账号
userdel peter
groupdel peter
usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录)
7、从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A
或者用命令
gpasswd -d A GROUP
8、显示用户信息
id user
cat /etc/passwd
w 查询当前登录用户
pkill -kill -t 【TTY】: 强行踢掉登录用户
id+username: 查询系统用户
system-config-firewall : 防火墙设置configure system firewall
who -m 效果同who am i:显示用户名,登录终端,登录时间
-q 只显示用户的登录帐号和登录用户的数量
-s 忽略,它同于who
-r 可以查看当前系统的运行级别
-H或--heading:显示一行列标题。常用的标题如表4-2所示。
whoami: 只显示出自己在系统中的用户名
who am i: 显示出自己在系统中的用户名,登录终端,登录时间
logname: 可以显示自己登录到系统中的用户名
last: 可以查看上次自己登录的时间,当然root可以查看其他用户登录的情况
last -n user: 可以看user前n次登录的情况
tty: 报告所连接的设备或终端
============================================
#locale 显示系统语言环境;语言环境参数保存在/etc/sysconfig/i18n文件里;LANG是最主要的
#locale –a 查看系统对语言的支持情况
#LANG=zh_CN.GB2312 使系统支持以中文形式显示
============================================
一、linux上进程的5种状态:
1.运行:
正在运行或在运行队列中等待
2.中断
休眠中, 受阻, 在等待某个条件的形成或接受到信号
3.不可中断
收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
4.僵死
进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放
5.停止
进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行
============================================
二、
PS命令参数:
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-e 显示所有进程.
-f 全格式.
-h 不显示标题.
-l 长格式.
-w 宽输出.
a 显示终端上的所有进程,包括其他用户的进程.
r 只显示正在运行的进程.
x 显示没有控制终端的进程.
============================================
三、
-aux输出格式:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
其中:
VSZ: 占用虚拟内存的大小
RSS: 占用实际内存大小
TTY: minor device number of tty
STAT: 进程状态:
D uninterruptible sleep (usually IO)
R Running or runnable (on run queue)
S Interruptible sleep (waiting for an event to complete)
T Stopped, either by a job control signal or because it is being traced.
Z Defunct ("zombie") process, terminated but not reaped by its parent.
W paging (not valid since the 2.6.xx kernel);没有足够的内存分页
X dead (should never be seen)
【BSD Format】
< high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group
START:进程开始时间
TIME:执行时间
COMMAND:所执行的指令
pgrep: 等同于ps aux | grep xxx. 更高效.e.g.: pgrep smbd ; pgrep heartbeat
-l 列出程序名和进程ID;
-o 进程起始的ID;
-n 进程终止的ID;
kill -9 ID: 强制关闭程序
============================================
Sambasmbpasswd -a {username}增加用户
-x {username}删除用户
-d {username}禁止用户
============================================
查看Selinux Context
ll -aZ [file]
修改Selinux Context
chcon: Change the SELinux security context of each FILE
关闭selinux
setenforce 0 关闭
setenforce 1 开启
或在/etc/selinux/config中改 SELINUXTYPE=permissive 关闭,disabled也可以
setenforce [ Enforcing | Permissive | 1 | 0 ]Use Enforcing or 1 to put SELinux in enforcing mode.
Use Permissive or 0 to put SELinux in permissive mode.
You need to modify /etc/grub.conf or /etc/selinux/config to disable SELinux.
============================================
计算器: bc
MD5计算
1.get file's MD5:
(Shell) md5sum [filename]
2.get string's MD5:
echo string | md5sum
============================================
字符数: (expression) | wc -L
行数: (expression) | wc -l
单词数: (expression) | wc -w
============================================
watch
-d 高亮显示差异部分
-n 时间间隔
e.g.:
watch -d -n 1 tail /var/log/heartbeat.log
Head : Print the first 10 lines of each FILE to standard output.
e.g.: xm dmesg | head -n 5
tail -f "filepath" 动态查看文件末尾
tail -n 100 "filepath" 查看文件末尾100行
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this) 关机
# 1 - Single user mode 单人维护模式,和Windows的安全模式一样,用于修复的时候才用
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 多人无网络模式
# 3 - Full multiuser mode 多人模式,就是我们所希望的命令行模式
# 4 - unused 系统预制,为了以后扩展方便
# 5 - X11 X-Windows模式,就是图形界面
# 6 - reboot (Do NOT set initdefault to this) 重新启动
ln : 软连接: ln -s {target-filename} {symbolic-filename}
Example: Create softlink for /home/will/linuxCMD as /home/hadoop/linuxCMD_2.0:
ln -s /home/will/linuxCMD /home/hadoop/linuxCMD_2.0
============================================
typeset功能: 显示当前系统已经定义了的SHELL变量
============================================
两个
目录间切换 cd - 返回前一个目录(两个目录间切换)
多个目录间切换
1.
pushd
不指定参数,会回到前一个目录,并把堆栈中最近的两个目录作交换。
/dir 切换到dir目录,并把原目录和当前目录(dir)压入到一个虚拟的堆栈中。
-n 切换到堆栈中的第n个目录
-n /dir 不切换目录增加/dir到虚拟堆栈中。
2.
popd 把堆栈顶端的目录从堆栈中删除。位于堆栈顶部的目录是当前目录,它不能被pop出去的。
-n 把堆栈中第n个目录从堆栈中删除
3.
dirs 列出当前堆栈中保存的目录列表
-p 以每行一个目录的形式显示堆栈中的目录列表
-v 在目录前加上编号
-c 清除堆栈。位于堆栈顶部的目录是当前目录,它不能被pop出去的。
注:
当前目录总在堆栈顶端。
============================================
su命令
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数:
-f 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
-m -p 执行su时不改变环境变量
-c command 变更为帐号为USER并执行command后再变回原来的使用者
-s shell 指定要执行的shell(bash/csh/tcsh...),默认值为/etc/passwd内的该USER的Shell
--help 显示说明文件
--version 显示版本资讯
- -l 这个参数加了之后,就好像是重新login为该使用者一样,大部份环境变量(HOME/SHELL/USER...)都以该USER为主,并且工作目录也会改变;
如果没有指定USER,默认是root
USER 欲变更的使用者帐号
ARG 传入新的shell 参数
范例:
su -c "ls" root 变更帐号为 root 并在执行 ls 指令后退出变回原使用者。
su root -f 变更帐号为root并传入 -f 参数给新执行的shell。
su - tuxedo 变更帐号为tuxedo并改变工作目录至tuxedo的Home目录。
============================================
NFSchfs -a size=+100G /home/
mount1.普通分区
mount /dev/sda5 /mnt
2.img文件
mount -o loop /mnt
修改fstab后如何不重启加载所有文件系统:mount –a
dd
Function: Convert & Copy a file
Usage:
dd if=[STDIN] of=[STDOUT] [OPTION]
[Option]
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
cbs = byte 一次转换bytes字节。
count=blocks 只拷贝输入的blocks块。
conv = ASCII 把EBCDIC码转换为ASCIl码。
conv = ebcdic 把ASCIl码转换为EBCDIC码。
conv = ibm 把ASCIl码转换为alternate EBCDIC码。
conv = block 把变动位转换成固定字符。
conv = ublock 把固定位转换成变动位。
conv = ucase 把字母由小写转换为大写。
conv = lcase 把字母由大写转换为小写。
conv = notrunc 不截短输出文件。
conv = swab 交换每一对输入字节。
conv = noerror 出错时不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)
============================================
【find命令advance】
1. 想查看当前文件夹及子文件夹里有没有”xyz”目录
# find . -type d -name xyz
-type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件)、l(链接文件)
2. 想查找当前目录及其子文件夹中“roc”用户自己的文件有哪些
# find . -user roc
-user:用于设定所属用户的名称,此处可替换为-group,即所属用户组的名称
3. 想查找当前文件夹及子文件夹里权限设定为755的所有文件
# find . -perm 755
-perm:用于设定权限
4. 想查找当前文件夹及子文件夹里的同时含有b字符和3字符的文件:用到正则表达式技术
# find . -regex ‘.*b.*3′
-regex:表示使用正则表达式进行匹配。请注意,此命令会和“全路径”进行匹配,也就是说前面要加.*,因为输出结果中会有“./”符号。
5. 如果想全部输出用find命令查找出的“*.abc”文件的内容
# find . -type f -name “*.abc” -exec cat {} \;
-exec 表示由find找到的匹配项会作为“-exec后面设定的命令”的参数
可以使用-ok代替-exec,这样对每个匹配项进行操作,都会要求用户确认(y为是,n为否)
命令最后的{} \; 别忘了写,其中{}代表用find查找到的结果中的每一个查找项。
6. 查找当前目录下在5分钟内被访问过的文件
# find . -amin -5
访问过用amin,修改过用mmin,文件状态改变过用cmin
精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime
在5分钟之内的用-5,在5分钟以上的用+5
7. 想查找当前目录及子目录下文件大小大于10M的所有文件
# find . -size +10000000c
-size:表示文件大小,+表示大于某个数,-表示小于某个数。c表示单位是字节,你可以将c换成k,M,G。
8. 上述所有的find命令都是查找当前目录及其子目录。如果不想深入到子目录中,而是只查找当前一层目录,则可以:
# find . -maxdepth 1 -name “*.c”
============================================
【chkconfig】
0.脚本放入/etc/rc.d/init.d/*下后可以使用 chkconfig 和 service + Script +{option}
1.列出系统所有的服务启动情况:
# chkconfig --list
2.列出xxx服务情况:
#chkconfig --list mysqld
3.【重点】设定xxx的启动级别:
# chkconfig --level 35 xxx on(off) //在等级3和5情况下,xxx为开机运行服务(或关闭)
注:
--level 35 执行级别。可以为2,3,4,5的任意组合。
level 2:无网络连接的多用户命令行模式
level 3:有网络连接的多用户命令行模式
level 4:不可用
level 5:带图形界面的多用户模式
4. 设定xxx在每个等级为on:
# chkconfig mysqld on
4. 增加一个服务xxx:
4.1 服务脚本必须存放在/etc/ini.d/目录下
4.2 chkconfig -add xxx
4.3 修改服务的默认启动等级
5. 删除一个服务xxx:
# chkconfig -del xxx
&命令
1. jobs
功能:查看扔到后台(&)的任务:
2. fg %n
功能:把后台第n号任务放回前台。
3. kill %n
功能:取消第3号后台任务。
============================================
【chmod】
chmod [options] permissions file[s]
Options:
-R set permissions recursively
-f "forced" or silent mode
-v "verbose", show information for every file processed
-c show information only if changes are made to the file
Permissions:
Octal numeric format, with a leading zero like "0644"
Octal numeric format, without a leading zero like "644"
Text permissions values:
u Sets permissions for the owner of the file, e.g.: "u+w" allows the owner to write to the file
g Sets permissions for the group (to which owner belongs), e.g. "g-x" suppresses the execution of the file by the group
o Sets permissions for other users (that are not in group), e.g.: "o=r" allows others only to read the file
a Sets permissions for all (owner, group and others), e.g.: "a-w" disables write access to the file for everyone
= Assigns the permissions, e.g. "a=rw", sets read and write permissions and disables execution for all
- Removes certain thing[s] from the permissions, keeping all other (not involved) permissions.
E.g. "a-x" disables execution of the file for everyone, this example doesn't touch read and write permissions.
+ Adds certain thing[s] to the permissions, keeping all other (not involved) permissions.
E.g. "a+x" allows execution of the file for everyone, this example doesn't touch read and write permissions.
r Sets read permissions
w Sets write permissions
x Sets execute permissions
t Sets sticky bit, e.g. "o+t" sets sticky bit for a file
s Sets SUID or SGID. E.g.: "u+s" sets SUID, "g+s" sets SGID.
File[s] can be either
========================================================================================
压缩/解压:tar/gzip/bunzip/zip...
tar:归档
1. tar文件是归档文件,并未被压缩
2. 拆档
#tar -xvf xxx.tar
============================================
| 不特殊指定压缩工具,只用-xvf也正确的. |
============================================
gzip: *.gz/*.tgz
1.解压缩:
#tar -xzvf【pakg】
#tar -xzvf【pakg】
z表示用gzip工具进行解压缩
v表示在解压缩时显示详细信息
f表示指定文件(f一定要放选项最后)
#gzip -d 【pakg】
d表示解压缩
2.压缩
#tar -czvf [dst].tar.gz [src_file]
3.查看xxx.tar.gz包含的文件
#tar -ztvf 【pakg】
4.只提取xxx文件
#tar -xzvf 【pakg】 def/xxx
5.解压abc.tar.gz时我想保留原来被压缩文件的权限(常用于备份)
#tar -xzvpf abc.tar.gz
6.最快压缩
#gzip -1 xxx.tar
注:
-1也可以换成–fast;
-9表示压缩比高,但速度最慢,-9也可以用–best代替。
默认的是-6.
============================================
bunzip/bzip: *.bz2
1. bunzip2<-->bzip2
fedora下,bunzip2是bzip2的一个符号连接。
但bunzip2和bzip2的功能相反。
bzip2 压缩文件 (用选项-d解压)
bunzip2 =bzip2 -d, 解压文件
2. 解压
#tar -xjvf xxx.tar.bz2
j:采用bunzip2工具。高版本tar可以省略j参数,即直接用-xvf。
# bunzip2 xxx.txt.bz2
解压后原xxx.txt.bz2会被删除
3. 压缩
3.1 压缩单个文件
#bzip2 xxx.txt
压缩后得到xxx.txt.bz2,同时原abc.txt会被删除。(linux考试会问到)。
3.2 压缩多个文件
#bzip pkg.bz2 1.txt 2.txt 3.txt D1/ D2/
压缩1.txt/2.txt/3.txt和D1/D2文件夹到pkg.bz2
3.3 分别压缩
# bzip2 xxx1.txt xxx2.txt
压缩后出现xxx1.txt.bz2和xxx2.txt.bz2
============================================
zip/unzip: *.zip
1.压缩多个文件
#zip -r pkg.zip 1.txt Dir1/
2.解压缩:
2.1 解压单个文件
#unzip 【file】
2.2 解压多个文件
#unzip abc\?.zip //同时解压前缀为abc的zip压缩包。
?表示一个字符
*表示任意字符。
3. 查看压缩包:
#unzip -v 【pkg】
4.查看压缩文件是否下载完全
#unzip -t 【pkg】
========================================================================================
wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget。
$ wget -r -np -nd
这条命令可以下载 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。
$ wget -r -np -nd --accept=iso /centos-5/i386/
与上一条命令相似,但多加了一个 --accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。
$ wget -i filename.txt
此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。
$ wget -c /really-big-file.iso
这里所指定的 -c 选项的作用为断点续传。
$ wget -m -k (-H)
该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。
============================================
文件编码与转换【乱码处理】:iconv , enca
0.查看文件编码
file
1. 转换
enca -L zh_CN //检查文件编码
enca -L zh_CN -x UTF-8 //将文件编码转换为UTF-8
enca -L zh_CN -x UTF-8 //如果不想覆盖原文件可以这样
enconv -L zh_CN -x UTF-8 //将一个GBK编码的文件转换成UTF-8编码
iconv -f GBK -t UTF-8 -o //将一个UTF-8 编码的文件转换成GBK编码
:set fileencoding=utf-8 //利用vim将编码转换为utf-8
2. 显示文件当前编码格式: set fileencoding
3. vim解决乱码添加
set encoding=utf-8
let &termencoding=&encoding
//让vim依照fileencodings提供的编码列表尝试自动识别文件编码
set fileencodings=utf-8,gb2312,gbk,ucs-bom,cp936