因为在日常工作中主要的编程环境都是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识别,如果没有开自动检测的话