八喜 发表于 2012-7-4 17:18:13

Linux新手生存笔记--第3课Linux常用命令(2)

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
,观察硬盘之实体使用情形。
在console上输入fdisk /dev/sda,可进入分割硬盘模式

fdisk -l查看硬盘分区情况

cat /etc/fstab

查看分区列表

mount [参数]
要加载的设备 载入点

加载一个硬件设备
eg: mount /dev/cdrom
  cd /mnt/cdrom //进入光盘目录
mkdir /mnt/usb;(注:创建挂载目录)
   mount /mnt/sda1 /mnt/usb;(注:挂载U盘)
umount /mnt/usb




8.系统操作
top

查看后台程序,监控系统性能

top -d 2
每两秒列新一次
top -d -2 -p3690 查看某个PID
top -b -n 2 >/tmp/top.txt 将top的信息进行2次,然后将结果输出到/tmp/top.txt

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默认为秒(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

查看网络连接情况
-i 显示网卡运行情况
-r 查看主机的路由列表

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

清屏
或者+l

echo str

在标准输出上显示字符

history

显示用户过去命用的命令

man command

帮助命令
f/
:每次向后翻一页
      
:每次向后移动一行
    :每次向前翻一页
or q
: 退出man命令.

学习bash
用man bash来查看手册,很强大的操作
了解ascii表man asci
man 7 signal

type command

后跟命令,区分某个命令是否为shell自带的还是由shell外部的独立二进制文件提供的


11.其他命令
alias

可以查看命令别名命名的信息
.alias
别名
alias dir='ls -l'   输入dir,其实就相当于执行了ls -l

bc

交互式,支持浮点型

scp local_file_A username@other_host_name:dir_name



两台主机之间拷贝文件
将本地文件拷贝到服务器上
scp –rp
/path/filename username@remoteIP:/path
将远程文件从服务器下载到本地
scp -rp username@remoteIP:/path/filename /path

scp /path/to/localfile :/path/to/remotefile
scp :/path/to/remotefile /path/to/localfile
scp /path/to/localfile @:/path/to/remotefile
scp @:/path/to/remotefile /path/to/localfile

ssh

ssh
ssh @
ssh -l
ssh“cmd”

学会打通ssh
了解ssh端口映射
当通过ssh远程工作时,可以使用screen
或 dtach保存会话

xargs

将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
find /path -type f -print0 | xargs -0 rm

md5sum

制作md5码(128b)和校验文件

!!

执行最近一次的命令

编译安装

源码编译安装(经典)
./configure            检查系统信息(./configure --help | more
帮助信息,可以看到相关的参数设定)
make clean               清除之前留下的文件
make                     编译
make install             安装
注:源码包安装,一般先将文件解压,安装过程大致上面几步,具体说明一般见解压后目录里的(INSTALL,READEME说明.)

12.常用按键
风骚的键位操作,如打boss时风骚的走位..........

删除
清空屏幕,
相当于clear
tab         
   将命令匹配完整,
自动补全路径/命令

   
光标跳至命令结尾
   
光标跳至命令开始
:光标左移一个字母
:光标右移一个字母
:交换光标位置前的两个字符(敲错顺序的时候)
:删除光标前一个字符,同 backspace
键相同
:
移除光标前的一个单词
:
清除光标前至行首间的所有内容【可用于删除整行已录入的命令】
:清除光标后至行尾的内容
:
粘贴或者恢复上次的删除

上下键
查看之前执行的命令
前一个命令
后一个命令
:匹配历史命令,搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history当查找到的命令不是你想要的命令,你还可以继续按Ctrl
+ R来查找下一个匹配的命令


                           锁定键盘
                           解锁键盘

   
中断当前的命令并返回Shell.
【终止当前进程】
中断当前的通信或从文件中退出【退出shell】

暂停当前进程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

mhdd2012 发表于 2012-9-4 16:41:29

新人前来学习!

xie89a701 发表于 2012-9-11 10:30:05

新人前来学习!赚积分啦。

飘飘 发表于 2013-5-24 23:58:57

新人前来学习!赚积分啦
页: [1]
查看完整版本: Linux新手生存笔记--第3课Linux常用命令(2)