Linux日常命令

  因为在日常工作中主要的编程环境都是Linux,所以时不时都会需要用到一些Linux命令,但是因为很多的操作都不是很常用,每次想用的时候都忘了,因此每次把用过的命令在此记录一下方便查找。(Linux其实特指REDHAT AS或者CENTOS)

1、ls
命令格式:ls [选项] [目录名]
命令功能:列出目标目录中所有的子目录和文件
常用命令的参数选项说明:
-a, –all                  列出目录下的所有文件,包括以 . 开头的隐含文件
-A, –almost-all           列出除了 . 及 .. 以外的任何项目
-d, –directory            将目录象文件一样显示,而不是显示其下的文件
-l                         列出文件的详细信息
-S                         根据文件大小排序
-h, –human-readable       以容易理解的格式列出文件大小 (例如 1K 234M 2G)
2、查看REDHAT发布版本
cat /etc/redhat-release

3、du
命令格式:du [选项] [目录名]
命令功能:查询文件或目录的磁盘使用空间,磁盘满了要找出哪个文件夹占用了空间时可用
常用命令的参数选项说明:
-s                         只显示目录总数量
-h                         以容易理解的格式列出文件大小 (例如 1K 234M 2G)
4、df
命令格式:df [选项] [目录名]
命令功能:显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统
常用命令的参数选项说明:
  -a, --all             包括大小为 0 个块的文件系统
  -B, --block-size=大小 块以指定<大小>的字节为单位
  -h, --human-readable  以容易理解的格式印出文件系统大小 (例如 1K 234M 2G)
  -H, --si              类似 -h,但取 1000 的次方而不是 1024
  -i, --inodes          显示 inode 信息而非块使用量
  -k                    即 --block-size=1K
  -l, --local           只显示本机的文件系统
      --no-sync         取得使用量数据前不进行 sync 动作 (默认)
  -P, --portability     使用 POSIX 输出格式
      --sync            取得使用量数据前先进行 sync 动作
  -t, --type=类型       只印出指定<类型>的文件系统信息
  -T, --print-type      印出文件系统类型
  -x, --exclude-type=类型   只印出不是指定<类型>的文件系统信息
  -v                    (此选项不作处理)
      --help     显示此帮助信息并离开
      --version  显示版本信息并离开
5、top
命令格式:top [选项]
命令功能:主要用于显示CPU和内存使用状态
常用命令的参数选项说明:
-d                       指定每两次屏幕信息刷新之间的时间间隔
-p                       通过指定监控进程ID来仅仅监控某个进程的状态
-c                       显示整个命令行而不只是显示命令名
运行时按1,显示每个CPU核的占用情况
运行时按q,退出
6、find
命令格式:find start_directory  test  options   criteria_to_match action_to_perform_on_results
命令功能:查找文件
例子:
find / -name "*.c"

在根目录先(包含子目录)查找.c文件
find . -name "*.o" -exec rm  -f {} \;

删除当前目录下的所有.o文件,rm -f 是要对查找到的文件执行的操作,随便替换成其他操作。
find . -name "*.o" -ok rm  -f {} \;

除了对每个文件查找前要求确认外,-ok与-exec基本是一样的,-ok安全点,但是很烦。
注意那个\;,这个是命令的一部分来的。

查找时间

find 命令有几个用于根据您系统的时间戳搜索文件的选项。这些时间戳包括

• mtime — 文件内容上次修改时间
• atime — 文件被读取或访问的时间
• ctime — 文件状态变化时间

mtime 和 atime 的含义都是很容易理解的,而 ctime 则需要更多的解释。由于 inode 维护着每个文件上的元数据,因此,如果与文件有关的元数据发生变化,则 inode 数据也将变化。这可能是由一系列操作引起的,包括创建到文件的符号链接、更改文件权限或移动了文件等。由于在这些情况下,文件内容不会被读取或修改,因此 mtime 和 atime 不会改变,但 ctime 将发生变化。

这些时间选项都需要与一个值 n 结合使用,指定为 -n、n 或 +n。

• -n 返回项小于 n
• +n 返回项大于 n
• n 返回项正好与 n 相等

您还可以使用 -newer、-anewer 和 –cnewer 选项查找已修改或访问过的文件与特定的文件比较。这类似于 -mtime、-atime 和 –ctime。

• -newer 指内容最近被修改的文件
• -anewer 指最近被读取过的文件
• -cnewer 指状态最近发生变化的文件

要查找您的主目录中自上一个 tar 文件以来以某种方式编辑过的所有文件,使用以下命令:

find . -newer  backup.tar.gz


按大小查找文件

-size 选项查找满足指定的大小条件的文件。要查找所有大于 5MB 的用户文件,使用

find / -size  +5000000c 2> /dev/null


结尾的“c”以字节为单位报告我们的结果。默认情况下,find 以 512 字节块的数量报告大小。如果我们将“c”替换为“k”,我们还会看到以千字节的数量报告的结果,如果使用“w”,则会看到以两字节字的数量报告的结果。

-size 选项经常用于搜索所有零字节文件并将它们移至 /tmp/zerobyte 文件夹。以下命令恰好可以完成这一任务:

find test -type f  -size 0 -exec mv {} /tmp/zerobyte \;


选项 -empty 还可用于查找空文件:

find test -empty  
     


find命令用法请参考 ORACLE上的文章,个人觉得写得很好,但是挺长的,我抄点常用的好了。
7、查看是否64位系统
1)、uname -a
如果有i686_64或者类似的信息表示是64位系统,否则是32位系统
2)、
file /sbin/init

其实就是查看系统自带的可执行程序看看是什么类型的
8、查看系统运行时间
uptime
每列代表以下内容:
现在的时间
系统开机运转到现在经过的时间
连线的使用者数量
最近一分钟,五分钟和十五分钟的系统负载
主要用于检查操作系统是否重启,另外用last也可以看到系统重启的时间。

9、netstat
命令格式:netstat [选项]
命令功能:用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
常用命令的参数选项说明:
-r, --route                显示Routing Table
-n                         直接显示数字IP地址或端口
-p                         显示对应的程序
-l                         显示监听的socket
10、tcpdump
命令格式:tcpdump [选项] [过滤项]
命令功能:用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
常用命令的参数选项说明:
-i                         指定网络接口
-s                         指定每个包的长度,如果想要全包用-s 0
-t                         不要显示时间戳
-XXX                       显示每个包的内容
-w                         保存文件,后面跟着文件名。tcpdump的输出很难看吧,用这个保存以后用wireshark来看好了

常用过滤项说明:
tcp/udp:                  指定协议类型
port:                     指定端口(可以加上dst port、src port)表示源端口和目的端口
host:                     指定IP或者主机名(可以加上dst host、src host)表示源地址和目的地址

每个条件的值前面都可以加!表示非
比如 tcpdump port !22 表示不要抓端口为22(ssh)的包
多个条件中用and或者or连接,也可以用&&或者||
如果用了括号的话,条件就要用'(单引号)括起来,防止shell误解析,没用的话就不要引号了
11、重启网卡
1)、使用ifconfig
例如要重启eth0
ifconfig eth0 stop

ifconfig eth0 start

2)、ifdown和ifup
ifdown eth0

ifup eth0

3)、service重启
service network restart/stop/start

4)、
/etc/init.d/network restart

12、关闭selinux
修改/etc/sysconfig/selinux文件:
#SELINUX=enforcing
SELINUX=disabled
用命令
setenforce 0

不重启生效
13、检测网卡
网卡驱动不起来,不知道芯片型号?试试这个
kudzu --probe --class=network

当然前提是你装了kudzu
新装了硬件也可以用kudzu识别,如果没有开自动检测的话

猜你喜欢

转载自naso.iteye.com/blog/1858830