-----------------------------------------系统运行时间 uptime
uptime命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1 min、6 min和8 min内的平均负载
或者last|grep "system boot"|head -n 1
-----------------------------------------索引节点(i节点) 进行删除
可以使用 索引节点(i节点) 进行删除
51665 -rw-r--r-- 1 root root 0 May 23 22:38 ?Os???j?
得到i节点为 51665
通过find命令删除i节点为51665的文件
./?Os???j?
-----------------------------------------selinux
/etc/selinux/config
-----------------------------------------mount
mount /dev/hda4 /users
由/dev/hda4表示的文件系统安装到路径users 下,随后可以使用ls /users来查看这个文件系统的内容,不能再使用ls /dev/hda4来访问
umount
-----------------------------------------关机 重启
shutdown -h now
shutdown -h +15 "going down for emergency disk repair."
shutdown -h 09:30 "go....."
halt 关机
reboot 重启
-----------------------------------------ln
连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。
-s : 进行软链结
存在/home/abc/111/sr
存在/home/abc/222
#ln -s /home/abc/111/sr /home/abc/222/sr
#ls -al /home/abc/222/
lrwxrwxrwx 1 root root 16 09-08 22:12 3r -> /home/abc/111/3r
-----------------------------------------查找相关命令是否已经在搜索路径中 which whereis locate
#which gcc
/usr/bin/which: no gcc in (/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/centos/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin)
如果 which没有找到的命令,那么试试whereis
[root@localhost centos]# whereis gcc
gcc: /usr/libexec/gcc
还可以使用locate,它搜索的并不特定于命令或软件包,而是能够找到任何类型的文件
[root@localhost centos]# locate signal.h
/usr/share/man/man0p/signal.h.0p.gz
-----------------------------------------显示网络流量
watch -n 1 "/sbin/ifconfig eth0 | grep bytes"
------------------------------------------查看内存使用情况
free
------------------------------------------查看CPU使用情况的命令
每5秒刷新一次,最右侧有CPU的占用率的数据
$ vmstat 5
------------------------------------------磁盘的IO性能
Linux下的iostat命令
iostat -d -k -t 2
每隔2秒统计一次磁盘IO信息,直到按 Ctrl+C终止程序,-d 选项表示统计磁盘信息, -k 表示以每秒KB的形式显示,-t 要求打印出时间信息,2 表示每隔 2 秒输出一次。第一次输出的磁盘IO负载状况提供了关于自从系统启动以来的统计信息。随后的每一次输出则是每个间隔之间的平均IO负载状况。
运行该命令后,输出:
Linux 2.6.9-67.0.7.ELsmp (localhost.localdomain) 11/19/2008
Time: 03:15:25 PM
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 3.53 26.66 54.76 30122033 61864280
sda1 0.51 1.07 1.73 1207649 1949740
sda2 0.00 0.00 0.00 538 256
sda3 13.84 25.59 53.03 28913291 59914092
Time: 03:15:27 PM
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 275.38 0.00 1738.69 0 3460
sda1 14.57 0.00 58.29 0 116
sda2 0.00 0.00 0.00 0 0
sda3 419.60 0.00 1678.39 0 3340
...
每次输出都会打印时间信息, 接下来显示磁盘IO情况列表。
Device: 显示磁盘名称
tps: 表示每秒钟输出到物理磁盘的传输次数。一次传输就是一个对物理磁盘的 I/O 请求。多个逻辑请求可被并为对磁盘的一个单一 I/O 请求。传输具有中等的大小。
kB_read/s: 每秒从磁盘读取的数据量,单位为KB。
kB_wrtn/s: 每秒从写入磁盘的数据量,单位为KB。
Kb_read: 读取的 KB 总数。
Kb_wrtn: 写入的 KB 总数。
------------------------------------------linxu 文件夹 权限 chmod chown
drwxr-xr-x 中的第一位(左数)表示当前目录是目录还是文件,d表示目录,-表示普通文件.
后面9位分为3组,每3组作为1组,从左到右分别表示文件属主,文件属组,和其他所有用户的权限.
r表示文件可读,w表示文件可写,x表示文件可以执行.
chown chmod -R 递归更新目录权限
用命令chmod改变文件权限.有两种
第一种
chmod (ugoa) (=-+) (rwx) file
u代表文件属主,g代表文件属组,o代表系统中除属主和属组成员之外的其他用户,a代表所有用户(u,g,o)总和
+代表增加相应的权限,-代表减少相应的权限,=代表只有相应的权限
chmod g-w file就可以完成上面那个文件的权限改正.
第二种
用数字改正,r为4,w为2,x为1
把数字相加就是所对应的权限,不如rwx就是7,rw就是6
改正上面问题的权限方法为
chmod 775 file 就行了
chown user:group
#chown -R matt:staff ./mattt
-----------------------------------------------date -s”命令来修改系统时间
#date -s 12/14/2007
将系统时间设定成上午9点16分0秒的命令如下。
#date -s 09:16:00
-------------------------------------------ls getfacl
getfacl 可显示一个文件当前的acl
#getfacl ./
ls -lih 所有文件和目录
ls -lih /home/web/limebook/*
ls -ld uploadfile/ 指定文件的属性
ls -l xxx.xxx 查看文件权限
ls -la |wc -l
应该减三,因为ls -la会显示"."和".."两个目录,并且-l会产生
total信息,故应该减三。
ls -l|wc -l
ls | egrep '[0-9]{2}' 显示带数字的目录和文件
ls | egrep '^[0-9]{2}/$'
只显示目录名
ls -l | grep ^d
只显示文件
ls -l | grep ^-
只显示文件名
ls -l | grep ^f
统计当能目录下的文件数
ls -l | grep ^- | wc -l
-----------------------------------------------find
find / -name "mysql*" 查找文件
# find / -name wish -print
find ./ -name '*.php' 可遍历目录
find ./ -maxdepth 1 -name '*.php' 不遍历,只寻找一级目录下
find . -regex '.*\.\(c\|h\|min\|cpp\|mak\|txt\)' -print find查找包含 .c .h .min .cpp .mak .txt 等后辍名的文件
find -type f ! -name "*.php" find . ! -name "*.php"查找当前目录,包括所有子目录里,除了 .sh结尾的所有其他文件。
df -h 查看磁盘空间
mv 可以移动一个文件(或目录)到另一个文件(或目录),如果文件(或目录)不存在,则创建它。其实mv 这个过程也可以理解为改名过程
,所以说mv工具能修改文件名和目录名。
file *.* 查看文件类型
//cp整个目录但是不包含其中某个目录
#cp -r `find /tmp/test -type d -path /tmp/test/c -prune -o -print |sed 1d ` /tmp/test2
find所带的参数
-prune:使用这一选项可以使f i n d命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被f i n d命令忽略。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-----------------------------------------------------------cd
cd .. 返回上级目录
cd ../.. 进入上二级目录
cd - 返回上一次进入的目录
cd 进入用户自己的主目录
cd ~ 进入用户自己的主目录
---------------------------------------------------------tail
tail 命令从指定点开始将 File 参数指定的文件写到标准输出。
tail -f 命令可用于监视另一个进程正在写入的文件的增长。
[root@xiegh-yangb ~]# tail -f /var/log/httpd/error_log
----------------------------------------------------------cp
cp -r limebook limebook_6.3
cp -rf mysqlse ../mysql-5.1.26-rc/storage/sphinx
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-------------cp整个目录但是不包含其中某个目录
/tmp/test
/a
/b
/c
/d
我想拷贝整个test目录,但是不包括下面的c目录,该怎么写啊?
#cd /tmp
#mkdir test2
#cp -r `find /tmp/test -type d -path /tmp/test/c -prune -o -print |sed 1d ` /tmp/test2
-------------------------------------------------------rm
rm -rf 目录 遍历删除
----------------------------------------------------------netstat网络统计信息
-a 显示所有socket,包括正在监听的,列出所有主动监听的端口。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形,获得数字地址和端口号。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
-p 每个监听端口相关联的特定进程
netstat -i -e 显示主机上每个网络接口的配置和状态
netstat -lp 标识正在监听的网络服务
netstat -rn 检查路由表
netstat -s 查看各种网络协议运行的统计信息
netstat -tln 用来查看linux的端口使用情况
netstat -anp | grep 25
netstat --ip -an
Lsof:其功能是列示打开的文件,包括监听端口
推荐:lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。//lsof -i:25,可以看到PID:3200
使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
linux lsof命令详解
-----------------------------------------------------------监视进程ps top
ps是比较常用的,可以配合grep命令来查找正在运行的进程。
ps auxf 所有进程的全貌
ps lax
推荐ps ax 命令显示一个当前系统进程的列表,该列表是一个静态列表
ps ax | grep 25
ps aux |grep send
ps -ax | grep http
ps -fp "5892 5893" 查看相关进程
top用于动态监视高资源占用的,要退出 top,按 [q] 键。
------------------------------------------------------------kill
kill 命令用于终止进程
例如: kill -9 [PID]
-9表示强迫进程立即停止
通常用ps 查看进程PID ,用kill命令终止进程
-----------------------------------------------------------pmap 查看 进程所用内存
---------------------------------------------------------用户相关
/etc/passwd 注:用户(user)的配置文件;
/etc/shadow 注:用户(user)影子口令文件;
/etc/group 注:用户组(group)配置文件;
/etc/gshadow 注:用户组(group)的影子文件;
who
last
last | grep reboot
如果指明了用户,那么last只报告该用户的近期活动,例如:last ynguo(回车)显示:
ac -p (回车)显示每个用户的总的连接时间
w:w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息
lastlog 列出每个帐户最后登陆系统的时间
last 列出所有用户的登陆记录(包括登陆设备和时间),以时间排序显示
who /var/log/wtmp 将报告自从wtmp文件创建或删改以来的每一次登录。
ac -d 显示每天的总的连结时间 -p 显示每个用户的总的连接时间
usermod -g group loginname
强行设置某个用户所在组
usermod -G groups loginname
把某个用户改为 group(s)
usermod -a -G groups loginname
把用户添加进入某个组(s)#id 注:查看用户的UID、GID及所归属的用户组
#id apache 查看APACHE用户的信息
--------------cat
cat命令就是查看文件的内容:
如#cat a.txt,而vi是一个文件编辑器
------------mkdir
mkdir -p
mkdir有一个很方便的-p选项,该选项告诉mkdir创建所有缺少的父目录,如下所示:
$ mkdir -p easy/as/pie
mkdir -m 711 test2 //指定权限
----------------touch 创建文件
----------------------telnet 远端登入
ping smtp.163.com
telnet smtp.163.com
-----------------file 显示文件类型
file 文件或文件夹
查看系统状态
查看系统使用字符集:echo $LANG $LANGUAGE
环境变量:set
系统
查看CPU个数 cat /proc/cpuinfo 看出现processor字样的行数是多少条
cat /proc/meminfo
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# 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 # 查看所有安装的软件包
-----------------------------------------------------------------------------------------【ubuntu】
-------------------------------------------rcconf设置开启启动
进去以后按空格键可取消或选择对应的设置
-----------------------------------------------------------------------------------------【centos】
-------------------------------ifconfig 命令无效
# ifconfig
提示命令不存在
使用 # /sbin/ifconfig 即可
原因: 系统默认的环境变量设置不对
在 普通用户 和root用户下分别执行echo $PATH,PATH里少了四个地址:/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin
而,ifconfig恰恰就在/sbin里面。
修改/home/用户/.bash_profile,在PATH后面添加/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin这几个路径。
改完之后,注销下或者重启才能生效。
再来sudo ifconfig , 就OK了。
-------------------------------chkconfig 用户管理服务,可以在系统中增删启动脚本
chkconfig --list [name] 显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态【对应/etc/rc.d/rc*.d/目录】 。
chkconfig --add name 增加一项新的服务。chkconfig确保每个运行级有一项启动(S)或者杀死(K)入口。如有缺少,则会从缺省的init脚本自动建立。
chkconfig --del name 删除服务,并把相关符号连接从/etc/rc[0-6].d删除。
chkconfig [--level levels] name <on|off|reset> 设置某一服务在指定的运行级是被启动,停止还是重置。例如,要在3,4,5运行级停止nfs服务,则命令如下:
on和off分别指服务被启动和停止,reset指重置服务的启动信息, on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。
#/sbin/chkconfig --add sshd [在服务清单中添加ssh服务]
#/sbin/chkconfig sshd on [设置ssh服务开机启动]
本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/417201