奇淫巧技基础篇(1)

/ 奇淫巧技Linux_manage / 没有评论 / 1243浏览

价值所在

命令的熟悉及命令行的熟悉使用,是写好脚本及管理好服务器的基础

ls

-A  通-a,但不列出"."和".."

cp

-R -r 递归复制该目录及其子目录内容
-p  连同档案属性一起复制过去
-s  生成快捷方式
-a  将档案的所有特性都一起复制

scp

-r 递归复制

rmdir

删除空目录

-v  显示执行过程
-p  若自父目录删除后父目录为空则一并删除

cat

-E  在结束行提示$

more

按页查看文章内容,从前向后读取文件,因此在启动时就加载整个文件

+n  从第n行开始显示
-n  每次查看n行数据
+/String    搜寻String字符串位置,从其前两行开始查看
-c  清屏再显示
-p  换页时清屏

less

可前后移动地逐屏查看文章内容,在查看前不会加载整个文件

-m  显示类似于more命令的百分比
-N  显示行号
/   字符串:向下搜索“字符串”的功能
?   字符串:向上搜索“字符串”的功能
n   重复前一个搜索(与 / 或 ? 有关)
N   反向重复前一个搜索(与 / 或 ? 有关)
b   向前翻一页
d   向后翻半页
u   向前翻半页
-i  忽略搜索时的大小写(在搜索大文件时比vim好用)
-s  将连续多个空行压缩成一行显示

nl

将输出内容自动加上行号

-b 
-b a 不论是否有空行,都列出行号(类似 cat -n) 
-b t 空行则不列行号(默认) 

pgrep

遍历目前正在运行的进程然后列出符合查找规则的进程ID(PID)

一个骚操作

pgrep server |xargs kill -9 

grep

-c 只输出匹配行的计数,和 wc -l 类似,我们常用的是使用awk+wc组合来统计,但是我测试过一个50万行的文件,grep -c 会快 awk+wc组合很多时间,可能因为后者是两个命令,运算量大

grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行 grep -B 5 foo file 显示foo及前5行 grep -A 5 foo file 显示foo及后5行

users

显示当前登录系统的用户

lastlog

查看每个用户最后的登陆时间

finger

查看用户信息

-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息
-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。
-p 除了不显示.plan文件和.project文件以外,与-l选项相同

alias

alias rm ='not use rm' #临时添加别名

unalias rm     #清除别名,若想继续使用别名,则重新source /etc/profile

useradd

useradd -M -s /sbin/nologin nginx

-M:不创建家目录

-s:指定用户登陆时使用的shell,nologin就是登陆不了

passwd

管道设置密码

echo "mima" | passwd --stdin lijinghua

userdel

删除用户

-r 用户文件一并删除

usermod

修改用户的相关属性

-L  冻结密码
-U  解冻密码
-g  修改用户所属组  usermod -g group user 

groupmod

修改组信息

-n 修改既有的组名

chfn

修改个人信息

mount

-ro 采用只读方式挂接设备
-rw 采用读写方式挂接设备

wc

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

-w filename 报告单词数 

env

显示环境变量

export

把普通变量变成环境变量

read

-p  接提示字符
-t  接等待的秒数

diff

比较单个文件或者目录内容

-b  不检查空格字符的不同。
-B  不检查空白行。
-i  不检查大小写
-q  仅显示差异而不显示详细信息
diff a b > parch.log 比较两个文件的不同并产生补丁

date

显示或设定系统的日期与时间

%H 小时(以00-23来表示)。 
%M 分钟(以00-59来表示)。 
%P AM或PM。
%D 日期(含年月日)
%U 该年中的周数。
date -s "2015-10-17 01:01:01" #时间设定
date +%Y%m%d         #显示前天年月日
date --date='2 days ago' #显示两天以前的日期
date -d '2 weeks'  # 2周后的日期

ping

测试与目标主机的连通性

-q 只显示最后的结果

paste

合并文件,需确保合并的两文件行数相同

[root@10-254-182-240 ~]# cat 999 
44
4444
4444
666
[root@10-254-182-240 ~]# cat 888 
3432
2324
2323
2324
[root@10-254-182-240 ~]# paste 999 888
44	3432
4444	2324
4444	2323
666	2324

whereis

-b 只显示二进制文件

关于命令行

ctrl -k 清除光标右边的内容 ctrl +h 清除光标左边(之前)的内容