linux 常用命令

1. 察看命令
系统

  # uname -a # 查看内核/操作系统/CPU信息

  # head -n 1 /etc/issue # 查看操作系统版本

  # cat /proc/cpuinfo # 查看CPU信息

  # hostname # 查看计算机名

  # lspci -tv # 列出所有PCI设备

  # lsusb -tv # 列出所有USB设备

  # lsmod # 列出加载的内核模块

  # env # 查看环境变量

  资源

  # free -m # 查看内存使用量和交换区使用量
# cat /proc/swaps # 查看交换区

  # df -h # 查看各分区使用情况

  # du -sh <目录名> # 查看指定目录的大小

  # grep MemTotal /proc/meminfo # 查看内存总量

  # grep MemFree /proc/meminfo # 查看空闲内存量

  # uptime # 查看系统运行时间、用户数、负载

  # cat /proc/loadavg # 查看系统负载

  磁盘和分区

  # mount | column -t # 查看挂接的分区状态

  # fdisk -l # 查看所有分区

  # swapon -s # 查看所有交换分区

  # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

  # dmesg | grep IDE # 查看启动时IDE设备检测状况

  网络

  # ifconfig # 查看所有网络接口的属性

  # iptables -L # 查看防火墙设置

  # route -n # 查看路由表

  # netstat -lntp # 查看所有监听端口

  # netstat -antp # 查看所有已经建立的连接

  # netstat -s # 查看网络统计信息

  进程

  # ps -ef # 查看所有进程

  # top # 实时显示进程状态

  用户

  # w # 查看活动用户

  # id <用户名> # 查看指定用户信息

  # last # 查看用户登录日志

  # cut -d: -f1 /etc/passwd # 查看系统所有用户

  # cut -d: -f1 /etc/group # 查看系统所有组

  # crontab -l # 查看当前用户的计划任务

  服务

  # chkconfig --list # 列出所有系统服务

  # chkconfig --list | grep on # 列出所有启动的系统服务

  程序

  # rpm -qa # 查看所有安装的软件包




2. 更改权限
#chmod u+x fileName #给owner 加可执行权限
#chmod 777 fileName # u g o
#chown user:group dir/file #更改用户和组


3. 用户和组
# grep group1 /etc/group # To determine whether the group1 group exists

# /usr/sbin/groupadd group1 #create the group1 groups

# id user1 # To determine whether the user exists and belongs to the correct groups

# /usr/sbin/usermod -g group1 -G group1 user1 #If the user1 user exists, but its primary group is not group1 or it is not a member of the group1 group,

# /usr/sbin/useradd -g group -G group user1 #This command creates the user1 user and specifies group1 as the primary.

# passwd user1 #set the password of the user1 user


4. grep
-c:只输出匹配行的计数。
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\:忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。


grep magic /usr/src/linux/Documentation/* | less

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
这里还有些用于搜索的特殊符号:

\< 和 \> 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,

{m,n} 出现的次数。 注意要用转义
\{m,n\}

5 cat
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting


cat -b textfile1 textfile2 >> textfile3
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容

cat file | grep ERROR * > new_file


6. iostat
iostat -m 2 10

sar -r 2 3 监测内存使用情况
sar 2 3 监测cpu使用情况

7. 画图
rpm -ql sysstat-7.0.2-3.el5

gnuplot
set xlabel "time" #设置 x 轴坐标 名字
set ylabel "eth0 status" #设置 y 轴坐标名字
set xdata time #将 x 轴的data类型设置为 time 时间型
set timefmt "%H时%M分%S秒" # 这步是设置 时间的格式,和上面的操作对应,(因为我用了默认的中文环境,所以/tmp/sar.log 的第一行显示的时间为中文,所以我这里为了能看得舒服些,就这样写了,大家可以根据自己喜好定义
plot "/tmp/sar.log" using 1:5 #这步就是输出图表了, 中间的是我刚才保存的文件 using 1:5 是使用文件中的 第一列作为x 轴 第六列作为y轴
plot "/tmp/sar.log" using 1:5 with line #再看图就不同了吧,用线的方式将点都连接起来了
replot "/tmp/sar.log" using 1:4 with line #如果你想在 刚才的图中 加入其他的 数值并和原来的图对比,就用这条命令吧。

8. 系统参数设置
linux ulimit的用法
文章分类:操作系统
1,说明:
ulimit用于shell启动进程所占用的资源.
2,类别:
shell内建命令
3,语法格式:
ulimit [-acdfHlmnpsStvw] [size]
4,参数介绍:
-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes
5,举例
在 Linux下写程序的时候,如果程序比较大,经常会遇到“段错误”(segmentation fault)这样的问题,这主要就是由于Linux系统初始的堆栈大小(stack size)太小的缘故,一般为10M。我一般把stack size设置成256M,这样就没有段错误了!命令为:
ulimit -s 262140
如果要系统自动记住这个配置,就编辑/etc/profile文件,在 “ulimit -S -c 0 > /dev/null 2>&1”行下,添加“ulimit -s 262140”,保存重启系统就可以了

9. 端口, 进程
linux 环境
root用户执行netstat -ntupl | grep processname
n表示不查询dns
t表示tcp协议
u表示udp协议
p表示查询占用的程序
l表示查询正在监听的程序

[b]netstat -npl | grep processnumber[/b] 但是我系统里没有t,u选项。 用这命令同样可以。

window 环境
netstat -nao //列出所有进程以及其占用的端口
netstat -aon|findstr "端口号"
tasklist|findstr "进程"

taskkill /PID 进程号 /F //强制关闭某个进程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值