Linux:常用命令
常用
- uname -a
- vi /etc/resolv.conf
查看内核/操作系统/CPU信息
- head -n 1 /etc/issue # 查看操作系统版本
- cat /proc/cpuinfo # 查看CPU信息
- 如果你只想得到数字,那么就使用下面的命令:
- grep 'model name' /proc/cpuinfo | wc -l
- cat /etc/redhat-release #查看版本与32位或64位
- getconf LONG_BIT #查看32位或者64位
- 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 # 查看所有安装的软件包
iptables
SElinux关闭:setenforce 0 查询状态: service iptables status
- 临时生效,重启后复原
- 开启:
service iptables start
- 关闭:
- </code>service iptables stop</code>
- /etc/init.d/iptables stop
- 开启:
- 永久性生效,重启后不会复原
- 开启: chkconfig iptables on
- 关闭: chkconfig iptables off
- 开放80端口: -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
- 阻止81端口: -A INPUT -p tcp -m tcp --dport 80 -j DROP
- 阻止IP访问网站: -A INPUT -s 指定IP地址 -p tcp -m tcp --dport 80 -j DROP
- iptables -I INPUT -i lo -j ACCEPT
cp
1.参数详解 cp (复制档案或目录) [root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination) [root@linux ~]# cp [options] source1 source2 source3 .... directory 参数: -a :相当于 -pdr 的意思; -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身; -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制; -i :若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作! -l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身; -p :连同档案的属性一起复制过去,而非使用预设属性; -r :递归持续复制,用于目录的复制行为; -s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案; -u :若 destination 比 source 旧才更新 destination ! 最后需要注意: 1)如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行! 2)由于 cp 有种种的档案属性与权限的特性,所以,在复制时,您必须要清楚的了解到: • 是否需要完整的保留来源档案的信息? • 来源档案是否为连结档 (symbolic link file)? • 来源档是否为特殊的档案,例如 FIFO, socket 等? • 来源文件是否为目录? 2.cp覆盖目标文件 shell>cp -Rf a1 a2 3.cp不覆盖目标文件 shell>awk 'BEGIN { cmd="cp -ri a1/* a2/"; print "n" |cmd; }' 注:a1为原文件夹,a2为目标文件夹
du
- 排在前面的10个
du -s /usr/* | sort -rn | head
- 排在后面的10个
du -s /usr/* | sort -rn | tail
- du -m -h --max-depth=1 /home
- du -sm 查看文件夹数目
- du [参数详解]
- -a 列出所有文件与目录,默认值是列出目录的值
- -b 列出的值以b输出
- -c 最后求总total
- -k 列出的值 以KB输出
- -m 列出的值以mb输出
- -s 只列出最后求总的值
Du命令功能说明:统计目录(或文件)所占磁盘空间的大小。 语 法:du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数>][--help][--version][目录或文件] 常用参数: -a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。 -D或–dereference-args 显示指定符号连接的源文件大小。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。 -k或–kilobytes 以1024 bytes为单位。 -l或–count-links 重复计算硬件连接的文件。 -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。 -m或–megabytes 以1MB为单位。 -s或–summarize 仅显示总计,即当前目录的大小。 -S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。 -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。 –exclude=<目录或文件> 略过指定的目录或文件。 –max-depth=<目录层数> 超过指定层数的目录后,予以忽略。 –help 显示帮助。 –version 显示版本信息。 linux中的du命令使用示例: 1> 要显示一个目录树及其每个子树的磁盘使用情况 du /home/linux 这在/home/linux目录及其每个子目录中显示了磁盘块数。 2> 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况 du -k /home/linux 这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。 3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况 du -m /home/linux 这在/home/linux目录及其每个子目录中显示了 MB 磁盘块数。 4> 以GB为单位显示一个目录树及其每个子树的磁盘使用情况 du -g /home/linux 这在/home/linux目录及其每个子目录中显示了 GB 磁盘块数。 5>查看当前目录下所有目录以及子目录的大小: du -h . “.”代表当前目录下。也可以换成一个明确的路径 -h表示用K、M、G的人性化形式显示 6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录: du -sh user -s表示总结的意思,即只列出一个总结的值 du -h --max-depth=0 user --max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。 7>列出user目录及其子目录下所有目录和文件的大小: du -ah user -a表示包括目录和文件 8>列出当前目录中的目录名不包括xyz字符串的目录的大小: du -h –exclude=’*xyz*’ 9>想在一个屏幕下列出更多的关于user目录及子目录大小的信息: du -0h user -0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。 10>只显示一个目录树的全部磁盘使用情况 du -s /home/linux
文件查阅
- head
- tail
- od
- less
- more
- nl
- cat
- tac
crontab
- crontab的日志/var/log/cron
- 文件路径:/var/spool/cron/root
- cron 是linux的内置服务,可以用以下的方法启动、关闭这个服务:
- /sbin/service crond start //启动服务
- /sbin/service crond stop //关闭服务
- /sbin/service crond restart //重启服务
- /sbin/service crond reload //重新载入配置
其他
pax -r -s ":.*/:./:" -f 请输入文件