linux操作小技巧锦集
0、常用Linux命令
查看端口被占用情况: 1、netstat -tunlp|grep 端口号 2、lsof -i:端口号
tar 压缩文件命令:
-c:建立一个压缩文件的参数指令(create 的意思); -x:解开一个压缩文件的参数指令! -t:查看 tarfile 里面的文件! -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件
tar –xvf file.tar // 解压 tar包 tar -zxvf file.tar.gz // 解压tar.gz tar -jxvf file.tar.bz2 // 解压 tar.bz2 tar –Zxvf file.tar.Z // 解压tar.Z
tar –cvf jpg.tar *.jpg // 将目录里所有jpg文件打包成tar.jpg tar –czf jpg.tar.gz *.jpg // 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg // 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 tar –cZf jpg.tar.Z *.jpg // 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
一、用户及用户组相关:
cat /etc/group #查看用户组,第3列就是组的一个ID的概念 cat /etc/shadow #查看用户, cat /etc/passwd #查看用户,第4列,就是用户所属的组的ID
二、VI:
VI太强大了,用熟练了会觉得很好用。
i #从光标处开始编辑
s #从光标之后开始编辑,而且会删掉一个字符
a #从光标之后开始编辑,但是不会删掉字符
u #回退
/ #斜杠进入搜索模式,输入要搜索的字符串回车即可
n #向后查看搜索结果
N #向前查看搜索结果
set number #显示行号,有时候很有用 set nonumber ¥取消显示行号
gg 这里是跳至文件首行
dG 清空文件
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky n 为数字,若 n 为 .,表示从当前行开始到最后一行 :%s/vivian/sky/(等同于:g/vivian/s//sky/)替换每一行的第一个 vivian 为 sky :%s/vivian/sky/g(等同于:g/vivian/s//sky/g)替换每一行中所有 vivian 为 sky 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符 :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/ :%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 /):/oradata/apras/替换成/user01/apras1/
三、SSH:
配置SSH,请查看 http://www.cnblogs.com/whatmiss/p/7068772.html
设置超时时间 ,参考http://blog.chinaunix.net/uid-10697776-id-3341317.html:
1.修改server端的 etc/ssh/sshd_config ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接 ClientAliveCountMax 3 #server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应
四、服务自启动相关配置:
这里用的是chkconfig命令来实现。主要思路就是:
1、给要配置的软件的启动脚本cp到/etc/init.d/下面
2、设置一下脚本的权限,设置为能执行 chmod 755 /etc/init.d/serverssh
3、然后chkconfig --add servername
4、最后开启,chkconfig servername on
例子,apache:
[root@leheledu ~]# whereis apachectl #找到启动脚本在哪儿 apachectl: /usr/sbin/apachectl /usr/share/man/man8/apachectl.8.gz [root@leheledu ~]# cp /usr/sbin/apachectl /etc/init.d/httpd #cp [root@leheledu ~]# chmod 755 /etc/init.d/httpd #设置权限 [root@leheledu ~]#chkconfig --add httpd #增加服务 [root@leheledu ~]#chkconfig httpd on #开启 [root@leheledu ~]#chkconfig httpd --list httpd #查看服务确认一下 #这里在增加服务可能会有点问题,解决办法: 添加支持: vi /etc/init.d/httpd 在 #!/bin/sh 下添加这两句: #chkconfig:345 85 15 #description:Start and stop the Apache HTTP Server
五、重新rm命令,更安全:
编辑 /etc/bashrc一共加了几个命令:rm、ur、rmt、rmh、rl,编辑后重新链接ssh命令生效。如下:
vi /etc/bashrc
然后到最后面,增加(注意给代码里的汉字删掉,否则可能影响正常):
#make rm safer by ztg 20170630 if [ ! -d ~/.trash ]; then mkdir -p ~/.trash fi alias rm=trash #rename rm alias ur=unrm #恢复文件到当前目录 alias rmt=cleartrash #清空回收站(真正的删除了) alias rmh=rmhp #显示帮助信息 alias rl='ls ~/.trash' #显示已删的文件 alias rmtest=rmtests rmtests() { echo 'test:' echo $@ if [ -z $1 ]; then echo "get null" fi } rmhp() { echo "all deleted files are there : ~/.trash" echo "rm -- mv file to ~/.trash" echo "rl -- list deleted files" echo "ur -- unrm, mv file from ~/.trash to this dir, now: " $PWD echo "rmt -- cleartrash, real delete files" } unrm() { if [ -z "$1" ]; then echo "must gave a file name" return fi mv -i ~/.trash/$1 ./ } trash() { if [ -z $1 ]; then echo "must gave a file name" return fi if [ $1 == 't' ] || [ $1 == '/' ]; then echo "can not delete dir '/'" return fi #echo ${#@} #echo $@ char='00' for i in $@ do #echo ${i} #echo ${char} if [ ${#char} == 1 ] && [ ${char} != ${i:0:1} ]; then echo 'can not delete *' return fi char=${i:0:1} #echo ${char} #echo '================' done #return mv -b $@ ~/.trash/ } cleartrash() { read -p "clear sure?[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.trash/* }
六、MySQL常用命令:
SELECT VERSION(); #查看版本号 SHOW STATUS LIKE '%connect%'; #查看链接信息 SHOW PROCESSLIST; #查看用户链接状态
UPDATE user SET password=PASSWORD('123456') WHERE user='root'; #改密码 FLUSH PRIVILEGES; #刷新权限
MySQL主从配置:http://www.cnblogs.com/skey_chen/p/5750574.html
七、文件搜索:
(1)grep 'test' d* #显示所有以d开头的文件中包含 test的行 (2)grep 'test' aa bb cc #显示在aa,bb,cc文件中包含test的行 (3)grep '[a-z]\{5\}' aa #显示所有包含每行字符串至少有5个连续小写字符的字符串的行 (4)grep magic /usr/src #显示/usr/src目录下的文件(不含子目录)包含magic的行 (5)grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行 (6)grep -w pattern files #只匹配整个单词,而不是字符串的一部分(如匹配'magic',而不是'magical'),
八、远程拷贝文件
从本地复制到远程 :
scp 1.txt user@192.168.1.1:/path/ #复制文件
scp -P 22022 1.txt user@192.168.1.1:/path/ scp -r /data/ user@192.168.1.1:/path/ #复制文件夹
从远程复制到本地 :
scp user@192.168.1.1:/path/1.txt /data/ #复制文件 scp -P 20000 user@192.168.1.1:/path/*.txt /data/ #复制文件 scp -r user@192.168.1.1:/path/ /data/ #复制文件夹