Linux常用指令

【查看网络】

ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。也可以把 它写入一个文件中(比如/etc/rc.d/rc.local),这样系统引导后,会读取这个文件,为网卡设置IP地址。

/sbin/ifconfig    会输出当前网络接口的情况

/sbin/ifconfig |grep "inet addr"  只输出网卡IP地址

telnet IP 端口  连接远程系统

tracerount hostname  通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。UNIX系统中,我们称之为Traceroute,MS Windows中为Tracert。

netstat [-r] [-s] [-n] [-a]
参数含义:
-r 显示本机路由表的内容;

-s 显示每个协议的使用状态(包括TCP协议、UDP协议、IP协议);

-n 以数字表格形式显示地址和端口;

-a 显示所有主机的端口号。 

netstat -ntl查看端口

time curl "url" 统计url调用时间

 

【压缩与解压】

tar -cvf /mnt/lgx/a1.doc   压缩为.tar扩展名的打包文件

tar -xvf /mnt/lgx/a1.doc.tar   解压打包文件

参数:

-c 建立新的归档文件
-r 向归档文件末尾追加文件
-x 从归档文件中解出文件
-O 将文件解开到标准输出
-v 处理过程中输出相关信息
-f 对普通文件操作
-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩

gzip filename   压缩文件,并保存为 filename.gz

gunzip filename.gz   解压文件finename.gz,完成后删除之

gzip -r filename.gz file1 file2 file3 /usr/work/school   把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.gz 文件中

zip -r filename.zip filesdir   filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件

unzip filename.zip   解压filename.zip

unzip filename.zip -d filename   解压filename.zip到filename

 

【远程拷贝】

可以用scp命令把文件从本地计算机拷贝到远程计算机,或者反之,甚至可以在两台远程计算机之间用“scp”命令拷贝文件。scp是有Security的文件copy,基于ssh登录。

scp -P56789 bussiness.tar webedit@192.168.8.204:~/   将文件拷贝到远程主机上

如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

scp root@172.19.2.75:/home/root /home/daisy/full.tar.gz

 

【移动】

mv指令用于移动或更名现有的文件或目录。

-b或--backup  若需覆盖文件,则覆盖前先行备份。
-f或--force  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
-i或--interactive  覆盖前先行询问用户。
-S<附加字尾>或
--suffix=<附加字尾>  与-b参数一并使用,可指定备份文件的所要附加的字尾。
-u或--update  在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。
-v或--verbose  执行时显示详细的信息。
-V=<方法>或
--version-control=<方法>  与-b参数一并使用,可指定备份的方法。
--help  显示帮助。
--version  显示版本信息。

 

【系统信息】

cat /proc/version 查看系统版本

cat /proc/cpuinfo | grep 'processor' |wc -l 查看CPU逻辑数量

cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l 查看CPU物理数量

cat /proc/cpuinfo | grep 'cpu cores' | wc -l 每个CPU中的Core个数

free -m 查看系统内存及Swap的使用情况(以M为单位)

/sbin/swapon -s 查看交换区的使用情况

 

【查看文件】

cat filename.txt | less 分页式显示文件内容

tail -f filename.txt 监控式显示文件内容

tail -n100 filename.txt 截尾式显示文件内容

grep 'SearchText' filename.txt 列出文件中包含某字符的行

grep 'SearchText' filename.txt | wc -l 获取文件中包含某字符的行数

grep 'SearchText' filename.txt | grep 'validation' |tail -n10 搜索出现'SearchText'并且出现'validation'的最后10行

stat filename.txt 查看文件的访问时间、修改时间、状态改变时间,也可以查看这个目录所有文件的状态

du -ab | sort -n 排序

du -sh /home 查看home目录大小

ls -l | sort -nk4 排序

df 查看磁盘可用空间情况

grep -C 1 "SearchText" filename.txt 搜索文件中出现关键字的行并显示其邻近的上下行

grep -A 2 -B 2 "SearchText" filename.txt 搜索文件中出现关键字的行并显示其邻近的上下两行

awk -F : '{print $1}' /etc/passwd 对文件的第一行根据':'进行split,然后打印其第一个元素

 

【ls指令】

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。

--color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。

【只列出子目录】ls -F | grep /$ 或者 ls -l | grep "^d"

【当前目录及子目录的文件数】ls -l * |grep "^-"|wc -l

【当前目录及子目录的目录数】ls -lR |grep "^d"|wc -l

 

【wc指令】

统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。

- c 统计字节数

- l 统计行数

- w 统计字数

有以下几点说明:
1:一个汉字占三个字节,一个回车符等不可见字符也占一个字节
2:一行的末尾如果没有回车符,则不算是一行,也就是说,如果一个文件的最后一行末尾没有换行符,wc命令统计的行数会比实际行数少一,所谓实际行数是你所看到的行数,实际上,没有回车符,确实不能算作一行
3:所谓一个字就是连续的字符,即不被空字符分割的连续的字母或者汉字算作是一个字

如:

wc -l about.jsp

 

【find指令】

find /etc -name '*srm*' 在etc目录下查找文件名包含“srm”字符串的文件

find . -name readme.txt  查找当前目录下(递归子目录)的所有名为readme.txt的文件

find . -type d  查找当前目录下(递归子目录)的所有目录

find . -type f 查找当前目录下(递归子目录)的所有文件

-size 选项用于查找满足指定的大小条件的文件(注意不查找目录), +表示大于, -表示小于, 没有+1表示正好等于。文件大小的单位可以是字节(用c表示), kb(用k表示)。

find . -size -100c 查找当前目录下(递归子目录)的所有文件大小小于100字节的文件
find . -size +100k 查找当前目录下(递归子目录)的所有文件大小大于100k的文件

find . -empty 查找当前目录下(递归子目录)的所有文件大小为0的文件和空文件夹

 

【权限】

ls -l xxx.xxx 查看文件权限

其中:

最前面那个 - 代表的是类型

中间那三个 rw- 代表的是所有者(user)

然后那三个 rw- 代表的是组群(group)

最后那三个 r—— 代表的是其他人(other)

r 表示文件可以被读(read)

w 表示文件可以被写(write)

x 表示文件可以被执行(如果它是程序的话)

chmod [-cfvR] [--help] [--version] mode file

chmod a=rwx file等同于chmod 777 file

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

-s :在文件执行时把进程的属主或组ID置为该文件的文件属主。

-c : 若该档案权限确实已经更改,才显示其更改动作

-f : 若该档案权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

 

【环境变量】
export MYNAME=”my name is kevin” 设置环境变量MYNAME
echo $ MYNAME 列出环境变量MYNAME

export PATH=$PATH:/home/env/jdk1.5.0_16/bin 添加PATH路径
-->my name is Kevin

 

【替换】

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录` 批量替换多个文件中的字符串 (有误)

 

【HOST】

cat /etc/hosts 查看HOST设置

 

【空间】

df -h 查看空间容量

du -Sh 查看当前目录空间大小情况,以K,M,G为单位

 

【w命令】

打印当前系统活动摘要。

USER 登录的用户。
tty 用户使用的 tty 名称。
LOGIN@ 用户登录的日期和时间。
IDLE 自一个程序上次试图从终端读取开始所持续的分钟数。
JCPU 该终端上的所有进程及其子进程使用的系统部件时间。
PCPU 当前活动进程所使用的系统部件时间。

WHAT 当前进程的名称和参数。

 

【ps命令】

-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
-a 显示终端上的所有进程,包括其他用户的进程。
-r 只显示正在运行的进程。
-x 显示没有控制终端的进程。

ps-ef 显示所有进程,不包含启动时间(STIME 字段是进程启动的时间,TIME 字段显示的进程运行的总时间)

ps-aux

显示其他用户启动的进程(a)
查看系统中属于自己的进程(x)
启动这个进程的用户和它启动的时间(u)

ps 是显示当前状态处于running的进程

ps -eo pid,cmd,etime,lstart 显示所有进程,能显示前几天启动的进程的具体启动时间

ps -eo "%p %c %t" 显示所有进程,包括已运行时间项

 

【kill命令】

"kill -9"命令向进程发送“SIGKILL”信号来将其终止。但是在下面两种情况下不起作用:
1、 该进程处于“Zombie”状态(使用“ps”命令返回“defunct”的进程)。此时进程已将所有资源释放,但未得到其父进程的确认。“Zombie”进程要等到下次系统启动时才能消失,但它的存在不会影响系统性能。

2、 该进程处于"kernel mode"(核心态)且在等待不可获得的资源。处于核心态的进程忽略所有信号处理,因此对于这些一直处于核心态的进程只能通过重启系统实现。进程在AIX中会处于两种状态,即用户态和核心态。只有处于用户态的进程才可以用“kill”命令将其终止。

 

【dd命令】

用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:
dd if =/dev/fd0 of = /tmp/tmpfile
拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令:
dd if = /tmp/tmpfile of =/dev/fd0
软盘拷贝完成后,应该将临时文件删除:
rm /tmp/tmpfile

 

【touch命令】

修改文件的时间戳记

参数:

a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。

 

【date命令】

获取昨天的日期:date -d "yesterday"或者date -d "1 day ago"或者date -d "1 days ago"

 

【cron命令】

cron服务是linux的内置服务,但它不会开机自动启动。

/sbin/service crond start
/sbin/service crond stop
/sbin/service crond restart
/sbin/service crond reload

12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1

这条语句将在每天的凌晨3点12分(03:12)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>> /dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。

其中的星号(*)是通配符,表示cron将忽略这个字段。

如果你想以用户joey的身份每两小时就运行某个程序,可以在小时字段里使用 */2。它将会在2点,4点,6点……22点,24点运行。具体语句如下:

 0 */2 * * * joey /usr/bin/somecommand >> /dev/null 2>&1

 

【export命令】

改变系统语言:export LANG = jp.utf-8

 

【cp命令】

cp -rf source target 复制文件夹并强制替换

 

【查看硬盘信息】

cat /proc/meminfo | more 查看内存

top 查看CPU、内存、Swap动态信息

 

cat /etc/hosts 查看HOST

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值