Linux 零碎知识点

ln -s ../libs/ libs

在当前目录下建立一个符号链接文件libs,使它指向上一层目录的libs文件夹


关于su和su -的区别
切换用户是可以使用su tom或者su - tom来实现,但是两者有区别
su只是切换身份,但shell环境仍然是原用户的shell
su -是连用户的shell环境一起切换
切换了shell环境,PATH的环境变量才有效
举例子:
比如说 root用户在/root/目录下, su tom,
切换到了tom 用户,但是目录仍然在/root/下。
如果使用su - tom
你可以发现目录也切换到tom用户的home目录下
这也是造成一些命令报错:command not found的原因
通过以上比较我们发现用su - 就相当于一个完整的登陆过程,而su 只是简单的把用户切换过去,一些环境变量什么的都没带过去


查看用户权限:
sudo -lU 用户名
仅查看自己的权限:
sudo -l


用mkdir创建多层目录:

mkdir -p tset1/test2/test3


根据进程号-PID查找启动程序的路径:

ls -l /proc/$PID/exe(将$PID改为欲查找的PID)


添加新的Linux用户:

adduser hzx:新增Linux用户hzx

passwd hzx::给用户hzx设置密码

userdel hzx:永久性删除用户账号hzx


添加sudo操作的用户权限(即xx is not in the sudoers file问题)

1.whereis sudoers:找出权限文件所在的位置,默认都是/etc/sudoers

2.su root:暂时以超级用户登录

3.chmod u+w /etc/sudoers:修改文件权限(增加 写 权限)

4.vi /etc/sudoers:在root ALL=(ALL)ALL行下添加XXX ALL=(ALL)ALL,XXX为你的用户名

5.chmod u-w /etc/sudoers:还原文件权限(去掉 写 权限),否则系统不允许执行suoders文件


查看用户列表:

w 可以查看当前活跃的用户列表
who 显示目前登入系统的用户信息
可以查看所有用户的列表:cat /etc/passwd
查看用户组:cat /etc/group
筛选过滤后:cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more


Vi编辑器的字符串查找:

/string 往前搜索string(支持正则)
n 查找下一个
?string  往后搜索string
/+上下箭头 搜索历史
:+上下箭头 :命令的历史
* 往前查找当前word,前提是光标移动到要查找的word
# 往后查找当前word,前提是光标移动到要查找的word
/\<word\> 只匹配word,不匹配wordstr等等
%  查找匹配的括号,前提是光标要在一边的括号上
fx  在当前行移动到下一个字符x


Linux查看CPU和内存使用情况:

使用top命令即可


强制终止某个进程:

kill -9 进程对应的pid(可用 ps -ef | grep 进程名 这条命令查看)


网络流量实时监控:

yum install -y iptraf

iptraf -h : 查看还有哪些参数和选项

iptraf -g :网络接口的一般信息统计


free 命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

-b:以Byte为单位显示内存使用情况;

-k:以KB为单位显示内存使用情况;

-m:以MB为单位显示内存使用情况;

-o:不显示缓冲区调节列;

-s<间隔秒数>:持续观察内存使用状况;

-t:显示内存总和列;

-V:显示版本信息。


查看系统所有进程一共可以打开的文件(描述符、句柄)数量:

# cat /proc/sys/fs/file-max


Linux如何清空邮件:
1.进入邮件目录:cd /var/spool/mail/
2.列出所有用户: ll
2.清空指定用户的邮件:echo ''>root


在vi编辑器的命令模式下:
:set ff?
回车后,可以查看文件格式
用:set ff=unix可将其转换为unix格式(回车后会没有反应,重新调用:set ff?即可查看更新结果)


查看某目录下的文件数目:

ls -l 目录名 | grep "^-"| wc -l


加入开机启动豪华午餐:
chkconfig –level 35 “服务名” on
或 “ntsysv”命令
解释:
ntsysv命令:可以集中管理系统不同的运行等级下的系统服务启动状态
使用空格键选择或者取消选项,按tab键可以跳到下面


Linux的定时任务(crontab服务):
启动crontab服务:service crond start

修改crond服务配置:vi /etc/crontab
格式:0 * * * * root 欲运行的sh脚本文件的绝对路径(包括文件名)--每隔一个小时执行一次

ps:crontab命令详解

记得先提升权限:
chmod 777 欲运行的sh脚本文件
解释:
755 代表用户对该文件拥有读,写,执行的权限,同组其他人员拥有执行和读的权限,没有写的权限,其他用户的权限和同组人员权限一样。
777代表,user,group ,others ,都有读写和可执行权限

查看crontab的运行日志记录:tail -f /var/log/cron


输入ls命令后,显示的第一行total n(n表示数字)的含义:
这级目录结构中使用数据块的数量


在vi编辑器的文本替换功能:

语法为 :[addr]s/源字符串/目的字符串/[option]
全局替换命令为::%s/源字符串/目的字符串/g
[addr] 表示检索范围,省略时表示当前行。
如:“1,20” :表示从第1行到20行;
“%” :表示整个文件,同“1,$”;
“. ,$” :从当前行到文件尾;
s : 表示替换操作
[option] : 表示操作类型
如:g 表示全局替换;
c 表示进行确认
p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
省略option时仅对每行第一个匹配串进行替换;
如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义
例如:
将文本“com.hzx.”全局替换为“net.good321.”
命令--》:%s/com.hzx./net.good321./g


//修正Linux时区
//1.设置时区
tzselect
//2.复制相应的时区文件,替换CentOS系统时区文件
cp -y /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
//时间自动同步和校正
//1.安装时间同步服务(组件)
yum install -y ntp
//2.设置同步服务器
ntpdate time.nist.gov
//3.让系统时间和BIOS时间同步,避免重启后失效
hwclock --systohc

命令行页面往上翻页:Shift+PageUp

查看PATH :echo $PATH
查看CLASSPATH:echo $CLASSPATH

命令行清屏:clear

ps命令(Process Status)是最基本同时也是非常强大的进程查看命令.
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一个强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
ps命令参数:
ps a     显示现行终端机下的所有程序,包括其他用户的程序
ps u     以用户为主的格式来显示程序状况
ps x     显示所有程序,不以终端机来区分
ps aux | grep 表示:
ps -ef |grep tomcat 看是否已经有tomcat在运行了
 
显示指定用户信息:ps -u root
显示所有进程信息,连同命令行:ps -ef
ps 与grep 常用组合用法,查找特定进程:ps -ef|grep ssh

列出当前被占用端口的情况:netstat -ntlp
查看端口占用:
lsof -i:8080(查看8080端口的进程占用情况)
netstat -ltnp
-l或–listening 显示监控中的服务器的Socket。
-t或–tcp 显示TCP传输协议的连线状况。
-n或–numeric 直接使用IP地址,而不通过域名服务器。
-p或–programs 显示正在使用Socket的程序识别码和程序名称。
netstat -an|grep LISTEN|grep :80
表示在结果中查找处于“LISTEN”状态并运行在指定端口“80”的进程

三种常见的 TCP 状态(由于 UDP 是无状态的,所以其 State 栏总是空白):
a) LISTEN 等待接收连接;
b) ESTABLISHED 一个处于活跃状态的连接;
c) TIME_WAIT 一个刚被终止的连接。它只持续 1 至 2 分钟,然后就会变成 LISTEN 状态。

使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,使tail不停地去读最新的内容,达到实时监视文件更新内容的效果。
如果你只想看文件的前5行,可以使用head命令,如:head -5 /etc/passwd
如果你想查看文件的后20行,可以使用tail命令,如:tail -20 /etc/passwd

把/usr/java这个目录下的所有文件和文件夹打包压缩成test.zip:
zip –q –r test.zip /usr/java
-q 安静模式,在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理

touch命令:用来修改文件时间戳,或者新建一个不存在的文件

在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。在 shell 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制
一般来说,exit 0 可以告知你的程序的使用者:你的程序是正常结束的。如果 exit 非 0 值,那么你的程序的使用者通常会认为你的程序产生了一个错误。

设置命令行启动:
vi /etc/inittab
———
把id:5:initdefault:
改为id:3:initdefault:
上传下载文件工具rz和sz:
yum install lrzsz -y
安装完成后直接运行rz或sz命令即可实现Windows和Linux互传文件

Linux将操作环境分为以下7个等级:
0:开机(请不要切换到此等级)
1:单人使用者模式的文字界面
2:多人使用者模式的文字界面,不具有网络档案系统(NFS)功能
3:多人使用者模式的文字界面,具有网络档案系统(NFS)功能
4:某些发行版的linux使用此等级进入x windows system
5:某些发行版的linux使用此等级进入x windows system
6:重新启动

chkconfig 命令主要用来更新(启动或停止)和查询系统服务的运行级信息
使用范例:
chkconfig –list        #列出所有的系统服务
chkconfig –add httpd        #增加httpd服务
chkconfig –del httpd        #删除httpd服务
chkconfig –level httpd 2345 on        #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig –list        #列出系统所有的服务启动情况
chkconfig –list mysqld        #列出mysqld服务设置情况
chkconfig –level 35 mysqld on        #设定mysqld在等级3和5为开机运行服务,–level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on        #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级

设置开机启动的脚本:
vi /etc/rc.d/rc.local
在文件末加上:脚本路径/脚本名 start
修改rc.local文件为可执行: chmod +x /etc/rc.d/rc.local
立即生效:source /etc/rc.d/rc.local
备注:/etc/rc.d/rc.local是在系统完成所有初始化之后执行的

Linux正确关机步骤:
查看谁在线:who
查看联网状态:netstat -a
查看后台执行的程序:ps -aux
通知在线使用者关机时间:shutdown +2 "The machine will shutdown" (两分钟后关机)
将内存中未写入硬盘的数据写入硬盘:sync

 
搭建SSH服务器:

http://www.cnblogs.com/eastson/archive/2012/06/29/2570163.html(成功)

 
 
Vi常用命令:

http://www.cnblogs.com/sunormoon/archive/2012/02/10/2345326.html

上一篇:爬取知乎百万信息之UrlTask


下一篇:spring boot配置使用fastjson