linux常用命令

1. 文件操作

1.1 获取文件头/文件尾

head -100 catanila.out > temp.log
tail -f oc.logs
tail -100 oc.log

1.2 合并文件

cat *.txt > test.txt 

1.3 清空文件

echo "" > oc.log

1.4 创建文件

touch test.txt

1.5 cmd结果导出到文件

mvn dependency:tree > tree.xml

2. 查看jar包/解压jar包

    jar xvf *.jar   解压
    jar -tvf *.jar  查看jar包内文件列表

//修改jar包内文件
vi portal.jar --> 找到文件 --> enter即进入编辑模式

3. sort 排序

//如果指定多个文件,则将全部文件当做一个文件进行处理
sort [options]  [files]
	-t  指定域分隔符(默认空格或tab) 	sort -t: -r video
	-n	按数字排序(将字符串转数字)
	-k	按指定字段(序号1开始)排序		l | sort -n -k 7
	-b	忽略行前空格
	-f  忽略大小写
	-r	逆序排列

4. uniq 去重 统计重复行次数(需相邻,先sort)

uniq -c test.txt
	-c	行首显示行出现的次数
	-d	只打印重复行
	-u	只打印非重复行
awk -F "/" '{print $3}' b.txt | sort -r| uniq -u	

5. cut 分解出单个字符

cut -c3-5 /etc/passwd		//就是输出/etc/passwd文件中每行的第三到第五个字符。
	-c5		提取第5个字符
	-c5-    提取第5个字符以后的字符
	-c1,5,12  提取多个字符,中间用“,”符号隔开
	-c5-14  提取第5个字符到第14个字符间的字符

6. 统计 ls -l | wc -l

wc [option] file
    -c,--bytes  统计字节
    -m,--chars  统计chracter
    -l,--lines  统计行数
    -L,--max-lene-length    长度最大行的长度
    -w,--words  统计单词

7. du -m 文件(夹)大小

du : 		du -sm	file/directory
   默认不加选项 只显示文件夹的大小,包括显示子目录中的文件夹
-a 显示所有文件的大小,包括文件子目录中的文件
-s 只显示文件夹的总容量! 以k为单位显示,无后缀
-h 已G/M显示文件大小	显示后缀(只适用于linux)
-m 以M为单位显示大小	不显示M,只显示数字
-k  以1024 bit单位显示
-g   以GB为单位显示

8. sftp/ssh登录另一台linux

sftp besread@10.21.89.7     lls显示本地文件夹
ssh besread@10.21.89.7     

9. df -h 查看磁盘空间

10. 查看端口占用(进程)

1-查找被占用的端口 netstat -tln | grep 8083
2-查看端口属于哪个程序, 切换到root用户, lsof -i :8083 

11. curl www.baidu.com 发起网页请求

12. wget 下载文件

13. uname -a 查看linux版本和内核版本

14. #()--字符串处理

file=/dir1/dir2/dir3/my.file.txt

${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 /  及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 .  及其左边的字符串:file.txt
${file##*.}:删掉最后一个 .  及其左边的字符串:txt
${file%/*}:删掉最后一个  /  及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 /  及其右边的字符串:(空值)
${file%.*}:删掉最后一个  .  及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个  .   及其右边的字符串:/dir1/dir2/dir3/my
${file/dir/path}:将第一个dir 替换为path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:将全部dir 替换为 path:/path1/path2/path3/my.file.txt

//记忆方法如下
# 是 去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)
单一符号是最小匹配;两个符号是最大匹配
${file:0:5}:提取最左边的 5 个字节:/dir1
${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2

15. 设置别名 alias

//如此,可在任意目录执行简短的命令
alias p ${CASSANDRA_HOME}/bin/proc.sh

16. ps aux指令

USER  PID %CPU %MEM  VSZ   RSS  TTY   STAT START   TIME   COMMAND
root     1    0.0     0.0     1340  440    ?       S     Nov05  0:04        init
root     2    0.0     0.0      0        0 	 ? 		SW 	Nov05  0:00 	[keventd]
root     3    0.0     0.0      0 		  0 	 ? 		SW 	Nov05  0:00 	[keventd]

用户可以查看某个进程占用了多少CPU;
内存使用及其VSZ(虚拟内存大小)和RSS(常驻集大小):
VSZ表示如果一个程序完全驻留在内存的话需要占用多少内存空间;
RSS指明了当前实际占用了多少内存;
STAT显示了进程当前的状态:
	"S":进程处在睡眠状态,表明这些进程在等待某些事件发生--可能是用户输入或者系统资源的可用性;

stat 中的参数意义如下:
   D 不可中断 Uninterruptible(usually IO)
   R 正在运行,或在队列中的进程
   S 处于休眠状态
   T 停止或被追踪
   Z 僵尸进程
   W 进入内存交换(从内核2.6开始无效)
   X   死掉的进程

    < 高优先级
    n   低优先级
    s   包含子进程
    +   位于后台的进程组

2)ps -A 显示所有程序。
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。
10)ps S 列出程序时,包括已中断的子程序资料。
11)ps -t<终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u  以用户为主的格式来显示程序状况。
13)ps x  显示所有程序,不以终端机来区分。
        ps -w    显示加宽可以显示较多的资讯

17. 改变文件权限

17.1 chmod--文件访问权限

chmod 777 test.log
chmod -R 777 test.log     // 递归修改权限

17.2 setfacl - 文件访问权限控制

setfacl -Rm u:uniagent:rx /var/log   //增加uniagent用户对/var/log文件夹的访问权限
setfacl -b /var/log    //删除文件的ACl控制
getfacl /var/log        //查看ACL权限列表

-m:设定ACL权限
-x:删除指定的ACL权限
-b:删除所以的ACL权限
-d:设定默认ACL权限
-k:删除默认ACL权限
-R:递归设定ACl权限

18. 用户和组管理

18.1 用户管理--usermod

18.2 群组管理-groupmod

groupmod -A uniagent mdn2000   //uniagent用户添加到组
groupmod -R uniagent mdn2000   //从组中删除uniagent用户

Usage: groupmod [-g gid [-o]] [-n new_name] group
    -A user        Add the user to the group entry
    -R user        Remove the user from the group entry

29. 保持程序后台运行(关闭终端程序继续运行)

以脱离终端的方式在后台运行这个shell命令: 	nohup 你的shell命令 &
//nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行;“&”可以让你的命令在后台运行。

30. xshell使用证书登陆linux

基本步骤3步:
	1、生成密钥,(公钥与私钥,xshell只能导出公钥,私钥保存在xshell中),
		工具-->密钥生成-->“密钥名称”,即第3步登录中证书的名称-->
		下一步,即将公钥复制。
	2、公钥(Public Key)粘贴到服务器~/.ssh/authorized_key文件中。
	3、配置ssh客户端使用密钥登录。新建连接-->用户省份认证-->方法(Public Key)
		--> 输入用户名,选中1步中名字的证书即可。

31. 安装软件

	Debian(使用aptitude管理)   suduo -i ; apt-get install aptitude ;  aptitude install package
	//aptitude update 更新可用的包列表
	//aptitude full-upgrade 将系统升级到新的发行版
	//aptitude install pkgname 安装包
	//aptitude remove pkgname 删除包
	//aptitude purge pkgname 删除包及其配置文件
	//aptitude show pkgname 显示包的详细信息
posted @ 2017-07-20 17:22  Desneo  阅读(722)  评论(0编辑  收藏  举报