Linux新手生存笔记[3]——Linux常用命令(2)
第二篇.
P.S. 显示效果不尽人意啊,html源代码编辑,每次在编辑器里调好好的,到页面效果就变掉了
搞半天没搞定,无语ing.........只能后面看看能不能调回来了.
------------------------------------------------------
7.磁盘操作... 11
8.系统操作... 12
9.网络相关... 13
10.shell操作... 14
11.其他命令... 14
12.常用按键... 15
13.命令选项大体通用含义... 16
14.常用命令别名... 17
7.磁盘操作
du |
du会统计指定的目录或文件所占用的实际磁盘空间 -a全部文件 包括隐藏的 -m du系统默认输出是以KB,以参数-m表示以MB显示. -h以M为单位显示文件大小结果 -s统计此目录中所有文件大小总和 du -h—max-depth=1 仅查询一层 |
df |
查看硬盘使用情况
-h以友好的格式输出所有已安装文件系统的磁盘容量状态 -m以M为单位输出home目录的磁盘容量状态 -k以K为单位输出所有已安装文件系统的磁盘容量状态 -i报告空闲的、用过的或部份用过的(百份比)索引节点 -l仅显示本地文件系统 -t ext3仅显示文件类型为ext3的文件系统的磁盘状态 -x ext3仅显示文件类型不为ext3的文件系统的磁盘状态 -T除显示文件系统磁盘容量大小外还显示文件系统类型 |
关于df和du:df是从文件系统的角度来看的,du是从能够“看到”的文件的角度来看的。通常情况下,df与du的显示是一致的;但是当你在程序里打开一个文件并且持有这个文件的句柄,然后在另外的窗口把这个文件删除,这时候文件已经“看”不到了,也就是通过ls列举是看不到这个文件了,但是由于还有程序在使用这个文件,因此系统并没有把它真正删除,文件的内容还在文件系统里,但目录树上找不到它。这时候df看到的要比du大。有时候发现df与du的显示结果相差几十个G,就是这个原因 |
|
fdisk |
观察硬盘之实体使用情形与分割硬盘用。 在console上输入fdisk -l /dev/sda
,观察硬盘之实体使用情形。
fdisk -l 查看硬盘分区情况 |
cat /etc/fstab |
查看分区列表 |
mount [参数] 要加载的设备 载入点 |
加载一个硬件设备 eg: mount /dev/cdrom
mkdir /mnt/usb;(注:创建挂载目录)
umount /mnt/usb |
|
|
8.系统操作
top |
查看后台程序,监控系统性能 top -d 2
每两秒列新一次 |
ps |
查看进程: ps -e 或ps -aux -->显示用户
ps aux | grep ps -aux|sort +5n看看哪个进程占用的内存最大 ps -ef |grep |
nohup cmd & |
后台运行 |
crontab |
格式为“分 时 日 月 周 命令 1>right 2>error” |
at |
执行一次 |
pstree -p |
查看进程树 |
free -m|-g|-k |
查看内存的使用 |
uptime |
显示目前系统开机时间(查看开机多久,多少人登陆,过去1,5,15分钟系统的负载) |
kill -9 pid |
杀进程send a signal to a process kill -9 发送的是SIG_KILL信号 ,具体发送什么信号 可以通过 man kill 查看
killall -9 processname |
&与ctrl+z |
将程序放在前后台执行 Ctrl-z可以将前台进程挂起(suspend), 然后可以用bg jobid 让其到后台运行 job & 可以直接让job直接在后台运行 |
fg jobid |
将放在后台执行的程序再放回前台 |
sleep amount [units]
|
units默认为秒(s),m表示分钟,h表示小时,d表示天 |
nice |
设置优先权 nice -n -5 vi & 用root给一个nice值为-5,用于执行vi |
renice |
调整已存在优先权 |
ldd |
命令查看共享库文件 |
strace |
诊断运行的进程, 分析程序运行错误的原因 |
sar |
收集、保存并报告系统信息 |
iostat |
|
netstat |
|
vmstat |
|
ab |
Web服务器的性能 |
wireshark和tshark |
复杂网络诊断 |
uname -a |
查看内核版本 |
cat /proc/meminfo |
查看内存的信息 |
cat /proc/cpuinfo |
查看cpu的信息 |
cat /proc/version |
查看操作系统版本 |
9.网络相关
wget uri |
下载文件 |
curl –s uri |
请求一个url |
ifconfig |
查看网络地址信息 |
netstat |
查看网络连接情况
netstat -na | grep 2181 这个命令查看哪些机器连着这个端口 |
ping ip |
ping一个ip地址 |
networkconfig;thizconfig |
网络设置 |
xmtr |
网络检测命令 |
mtr |
网络诊断工具 |
lynx |
将HTML页面转化文本文件 lynx -dump -stdin |
netstat -tupln |
查看本地所有的tpc,udp监听端口: (t=tcp, u=udp, p=program, l=listen, n=numric) |
iftop、nethogs |
查看占用带宽的进程和带宽 |
10.shell操作
clear |
清屏 或者<ctrl>+l |
echo str |
在标准输出上显示字符 |
history |
显示用户过去命用的命令 |
man command |
帮助命令 f/<Space bar> :每次向后翻一页 <Enter> :每次向后移动一行 <b> :每次向前翻一页 <ctrl-c> or q : 退出man命令. 官方文档:www.readhat.com
学习bash 用man bash来查看手册,很强大的操作 了解ascii表man asci man 7 signal |
type command |
后跟命令,区分某个命令是否为shell自带的还是由shell外部的独立二进制文件提供的 |
11.其他命令
alias |
可以查看命令别名命名的信息 .alias
别名 |
bc |
交互式,支持浮点型 |
scp local_file_A username@other_host_name:dir_name
|
两台主机之间拷贝文件
/path/filename username@remoteIP:/path 将远程文件从服务器下载到本地
scp /path/to/localfile <host>:/path/to/remotefile scp <host>:/path/to/remotefile /path/to/localfile scp /path/to/localfile <user>@<host>:/path/to/remotefile scp <user>@<host>:/path/to/remotefile /path/to/localfile |
ssh |
ssh <host> ssh <user>@<host> ssh -l <user> <host> ssh <host> “cmd”
学会打通ssh 了解ssh端口映射 当通过ssh远程工作时,可以使用screen 或 dtach保存会话 |
xargs |
将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 find /path -type f -print0 | xargs -0 rm |
md5sum |
制作md5码(128b)和校验文件 |
!! |
执行最近一次的命令 |
编译安装 |
源码编译安装(经典) |
12.常用按键
风骚的键位操作,如打boss时风骚的走位.......... <backspace> 删除 <ctrl-l> 清空屏幕, 相当于clear tab 将命令匹配完整, 自动补全路径/命令
<Ctrl+e> 光标跳至命令结尾 <Ctrl+a> 光标跳至命令开始 <ctrl+b>:光标左移一个字母 <ctrl+f>:光标右移一个字母 <ctrl+t>:交换光标位置前的两个字符(敲错顺序的时候) <ctrl+h>:删除光标前一个字符,同 backspace 键相同 <ctrl+w>: 移除光标前的一个单词 <ctrl+u>: 清除光标前至行首间的所有内容【可用于删除整行已录入的命令】 <ctrl+k>:清除光标后至行尾的内容 <ctrl+y>: 粘贴或者恢复上次的删除
上下键 查看之前执行的命令 <ctrl+p>前一个命令 <ctrl+n>后一个命令 <ctrl+r>:匹配历史命令,搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history当查找到的命令不是你想要的命令,你还可以继续按Ctrl + R来查找下一个匹配的命令
<ctrl + s> 锁定键盘 <ctrl + q> 解锁键盘
<ctrl-c> 中断当前的命令并返回Shell. 【终止当前进程】 <Ctrl-d> 中断当前的通信或从文件中退出【退出shell】 <ctrl + z> 暂停当前进程bg后台运行,fg转到前台 (习惯bg,fg操作,效率大大提升)
如果熟悉vi诸多快捷键,嘿嘿 set -o vi (vim编辑器的环境,试试vim的命令) set -o emacs (恢复了) |
13.命令选项大体通用含义
-a |
all |
全部 |
-b |
binary |
二进制 |
-c |
character |
字符 |
count |
计数 |
|
-f |
force |
强制 |
-i |
interact |
交互 |
ignore |
忽略大小写 |
|
-j |
jump |
跳过 |
-l |
long |
长格式 |
line |
行 |
|
-m |
move |
移除 |
-n |
number |
行号 |
-p |
parent |
上层父目录 |
-r |
reverse |
逆序 |
-R |
Recursion |
递归 |
-s |
set |
设置 |
soft |
软连接 |
|
-t |
time |
时间戳 |
-v |
view |
查看 |
-w |
word |
单词 |
14.常用命令别名
alias ls='ls -GF' alias s='sudo' alias sa='sudo -u admin' alias m='mysql -u root' alias gu='iconv -f gbk -t utf-8' alias ug='iconv -f utf-8 -t gbk' alias ssh='ssh -2' alias ll='ls -al --color=tty' alias lftp="lftp username:passwd@ftpIP"
alias vd='vimdiff' alias tf='tail -f' alias af="awk -F ' \t' '{print NF}'" alias wl='wc -l' alias rmsvn='find . -name ".svn" -exec rm -rf {} \; >> /dev/null 2>&1' alias grep='grep --color=auto'
if [ $OS = "Linux" ]; then alias ls='ls --color -F' alias scp='scp -1' fi |