工作中常用的linux操作整理

来源:互联网 发布:主角与配角知乎 编辑:程序博客网 时间:2024/05/18 02:51

文件编辑操作命令

-----------------------------------------------------------------
在vi中查找字符串的方法如下:
1、命令模式下输入“/字符串”,例如“/Section 3”。
2、如果查找下一个,按“n”即可。
要自当前光标位置向上搜索,请使用以下命令:
/pattern Enter
其中,pattern表示要搜索的特定字符序列。
要自当前光标位置向下搜索,请使用以下命令:
?pattern Enter
按下 Enter键后,vi 将搜索指定的pattern,并将光标定位在 pattern的第一个字符处。


参考资料地址:http://www.server110.com/linux/201404/10603.html


---------------------------------------------------------------------------------------


按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态,这时从键盘输入的内容将插入到光标位置;再按下Insert键,左下角将有“Replace”字样,表示当前为替换编辑状态,这时从键盘输入的内容将替换光标位置的内容。


参考自;http://product.pconline.com.cn/itbk/software/linux/1311/3759019.html


--------------------------------------------------------------------------------------------
编辑文件后,先按esc,


a.若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令  :q!
Vi放弃所作修改而直接退到shell下;


b.输入命令  :wq,Vi将先保存文件,然后退出Vi返回到shell。


c.连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;
  若当前编辑的文件没被修改过,则Vi直接退出, 返回到shell;


d.输入命令  :w
  Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。 :w newfile此时Vi将把当前文件的内容保存到指定的newfile中,而原有文件保持不变。若newfile是一个已存在的文件,则Vi在显示窗口的状态行给出提示信息:
  File exists (use ! to override)
  此时,若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令
  :w! newfile
  否则可选择另外的文件名来保存当前文件。

e.输入命令  :q
  系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息:

  No write since last change (use ! to overrides)




其它常见命令


1.移动文件夹的命令:cp -r /usr/local/www/vhosts /var/ftp/pub


2.切换用户
inux系统中用户切换的命令为su,语法为:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]


参数说明
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。

-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
–help 显示说明文件
–version 显示版本资讯
USER:欲变更的使用者账号,
ARG: 传入新的Shell参数。

2. su [user] 和 su - [user]的区别:su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。

3.搜索文件 

find . -maxdepth 1 -name "@*" 
这个命令意思是,查找当前目录下以@开头的文件或者目录,搜索深度为一级也就是只在当前目录找,不进入子目录,如果你要从/目录开始找就:
find / -maxdepth 1 -name "@*" 
如果想搜全盘,就把-maxdepth 1 去掉


4.自动安装软件

yum的命令形式一般是如下:yum [options] [command] [package ...]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package ...]是操作的对象。(参考自:http://blog.csdn.net/wuwenxiang91322/article/details/20076985

比如:

yum install zabbix20-server zabbix20-agent zabbix20-web-mysql nmap httpd policycoreutils-python net-snmp net-snmp-utils

5.压缩解压文件

    .tar   

         解压:tar zxvf FileName.tar    

         压缩:tar czvf FileName.tar DirName

 .gz   

         解压1:gunzip FileName.gz   解压2:gzip -d FileName.gz    

         压缩:gzip FileName
 .tar.gz 和 .tgz     

         解压:tar zxvf FileName.tar.gz       

         压缩:tar zcvf FileName.tar.gz DirName
 .bz2  

         解压1:bzip2 -d FileName.bz2    解压2:bunzip2 FileName.bz2     

         压缩: bzip2 -z FileName
 .tar.bz2    

         解压:tar jxvf FileName.tar.bz2    

         压缩:tar jcvf FileName.tar.bz2 DirName
    .bz
  解压1:bzip2 -d FileName.bz
  解压2:bunzip2 FileName.bz
  压缩:未知
 .tar.bz
  解压:tar jxvf FileName.tar.bz
  压缩:未知
 .Z
  解压:uncompress FileName.Z
  压缩:compress FileName
 .tar.Z
  解压:tar Zxvf FileName.tar.Z
  压缩:tar Zcvf FileName.tar.Z DirName
 .zip
  解压:unzip FileName.zip
  压缩:zip FileName.zip DirName
 .rar
  解压:rar a FileName.rar
  压缩:r ar e FileName.rar
  解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
  [root@www2 tmp]# cp rar_static /usr/bin/rar
 .lha
  解压:lha -e FileName.lha
  压缩:lha -a FileName.lha FileName
  》解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
  [root@www2 tmp]# cp lha /usr/bin/
 .rpm
  解包:rpm2cpio FileName.rpm | cpio -div
 .deb
  解包:ar p FileName.deb data.tar.gz | tar zxf -

--------------------------------------------------------------------------------

自动安装jdk

Oracle官网上下载jdk,需要点击accept licence的才能下载,使用下面的命令,直接可以下载。
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.rpm


然后运行如下命令自动安装jdk:

rpm -ivh jdk-7u71-linux-x64.rpm 

--------------------------------------------------------------------------     

安装ant

1、从http://ant.apache.org 上下载tar.gz版ant

2、复制到/usr下

3、tar -vxzf apahce-ant-1.9.2-bin.tar.gz  解压

4、chown -R yjdabc apahce-ant-1.9.2  改变权限

    chown -R :users apahce-ant-1.9.2

   chmod -R +x apahce-ant-1.9.2

5、vi /etc/profile    修改系统配置文件

    #set Ant enviroment

    export ANT_HOME=/usr/apache-ant-1.9.2

    export PATH=$PATH:$ANT_HOME/bin

6、source /etc/profile   立刻将配置生效

7、ant -version   测试ant是否生效


执行:

ant -buildfile /usr/demo/build.xml init表示运行build.xml 中名字为init的target

------------------------------------------------------------------

LINUX通过下面的命令可以开启允许对外访问的网络端口: 
/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口 
/etc/rc.d/init.d/iptables save #保存配置 
/etc/rc.d/init.d/iptables restart #重启服务 

查看端口是否已经开放 
/etc/init.d/iptables status


如果linux不使用iptables,而是使用firewall进行端口开放:

firewall-cmd --zone=public --add-port=80/tcp --permanent

---------------------------------------------------------------

Linux 查看端口占用并杀掉

netstat -apn|grep 80

tcp        0      0 10.65.42.27:80              172.22.142.20:62771         ESTABLISHED6426/lighttpd

为上面标红显示

kill -9 6426

--------------------------------------------------

linux下生成ssh密钥对(使用默认的路径)

cd  ~/.ssh

ssh-keygen -t rsa -C  "test@emal.com"

接下来点击enter键默认方式生成

---------------------------------------------------------------

查找文件

2.查找文件名中包含某字符(如"elm")的文件
find /home/lijiajia/ -name '*elm*'
find /home/lijiajia/ -name 'elm*'
find /home/lijiajia/ -name '*elm'
 
3.根据文件的特征进行查询
find /home/lijiajia/ -amin -10        #查找在系统中最后10分钟访问的文件
find /home/lijiajia/ -atime -2        #查找在系统中最后48小时访问的文件
find /home/lijiajia/ -empty           #查找在系统中为空的文件或者文件夹
find /home/lijiajia/ -group cat       # 查找在系统中属于groupcat 的文件(试了,命令不对。)
find /home/lijiajia/ -mmin -5         # 查找在系统中最后5 分钟里修改过的文件
find /home/lijiajia/ -mtime -1        #查找在系统中最后24 小时里修改过的文件
find /home/lijiajia/ -nouser          #查找在系统中属于作废用户的文件(不明白是什么意思)
find /home/lijiajia/ -amin 10         #查找在系统中最后10分钟访问的文件
find /home/ftp/pub -user lijiajia     #查找在系统中属于lijiajia这个用户的文件
(PS:以上都是在 /home/lijiajia/文件夹下进行的操作)

-------------------------------------------------------------------------------------------

进程操作

通过进程名查看进程情况

ps -ef | grep openfire 

通过pid看端口

netstat -antup |grep 2711


通过进程名关闭所有进程

kill -9 $(ps -ef | grep openfire | grep -v grep | gawk '$0 !~/grep/ {print $2}' | tr -s '\\n' ' ') 


-------------------------------------------------------------

rpm操作

查找

通过  rpm -q <关键字> 可以查询到rpm包的名字

卸载

然后 调用 rpm -e <包的名字> 删除特定rpm包
如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包
如果恰好有多个包叫同样的名字,使用 rpm -e --allmatches --nodeps <包的名字> 删除所有相同名字的包, 并忽略依赖


后续补充...


2 0