linux命令

1.cd命令

  • cd    回到跟目录
  • cd uqihong     进入到uqihong这个文件夹(且cd命令只能一级一级的进入)
2.复制命令     
  • cp -r /usr/local/tomcat-ushangxue-www/. /usr/local/tomcat-uqihong-www    将一个文件夹下所有内容复制到另一个文件夹
  • cp -r  /TEST/test1 /TEST/test2   将test1文件夹复制到test2下,test1文件夹会在test2文件夹下
  • cp /TEST/test1/test01  /TEST/test2    将test01文件复制到test2文件夹下

  cp的参数讲解

  -a :相当于 -pdr 的意思;
  -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;
  -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;
  -i :若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作!
  -l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身;
  -p :连同档案的属性一起复制过去,而非使用预设属性;
  -r :递归持续复制,用于目录的复制行为;
  -s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案;
  -u :若 destination 比 source 旧才更新 destination !

3.创建目录
  • mkdir test1 创建一个test1的文件夹或者目录      
  • mkdir -p test3/test4 从根目录创建两级目录test3和test4      
  • mkdir test1 test2 同时创建两个平级的目录
4.创建文件
  • touch 1.txt  创建一个名为1.txt的文件
5.编辑文件 
  • dd   连续按两次d就可以删除一行(注意不能再编辑模式下使用)
  • esc+u  可以回退到上一步操作
  • shift+insert(shift+fn+insert)   粘贴内容
  • ctrl+insert(ctrl+fn+insert)      复制内容
  • 编辑1.txt的文件 vim 1.txt    但是此时是command mode 模式,然后 在英文状态下输入i即可进入insert mode 模式进行编辑   
  • 如果想退回到command mode 模式在应为输入法状态下
    • 按esc键然后输入":wq"就可以保存退出了
    • ":q"表示退出编辑(这个应该是不保存退出)  
    • ":q!"表示不保存强制退出 
    • ":w"表示保存不退出
    • ":w!"表示强制保存不退出
  • 如果出现swap file "*.swp" already exists!
    [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
        这个错误,说明上次的修改没有保存,因为vim的操作是:先copy一份所要修改的文件然后对着临时文件进行修改,当你执行:wq命令是才会把临时文件的操作更新到源文件,如果没有进行保存操作就会出现上面的错误提示,如果想要避免这个错误提示可以删除这个临时文件: rm .*.swp //删除所有隐藏文件
6.删除文件
  • rm 1.txt 删除文件
  • rm -r test1/  删除目录
  • rm -rf test3/ 强制删除目录
  • 下面三个是当文件过多,rm不起作用时,删除文件用的
  • find ./ -type f -delete    
  • find ./ -type f -exec rm {}
  • rsync -a --delete blanktest/ test/
7.连接网络:
  • yum install gcc wget vim unzip zip tree lrzsz man -y  出现complete表示执行完成
8.tar命令的操作
  • tar -cf all.tar *.jpg    这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包 ,-f指定包的文件名
  • tar -rf all.tar *.gif     这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的 意思
  • tar -uf all.tar logo.gif    这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思
  • tar -tf all.tar    这条命令是列出all.tar包中所有文件,-t是列出文件的意思
  • tar -xf all.tar    这条命令是解出all.tar包中所有文件,-x是解开的意思  
9.tar命令和解压缩命令的同时使用
  • tar和gzip合作使用(.tgz结尾或.tar.gz结尾是一致的)
    •  tar -czf all.tar.gz *.jpg     这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个 gzip压缩过的包,包名为all.tar.gz
    • tar -xzf all.tar.gz    这条命令是将上面产生的包解开
  • tar和bzip2合作使用(tar.bz2结尾的文件)
    • tar -cjf all.tar.bz2 *.jpg     这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个 bzip2压缩过的包,包名为all.tar.bz2
    •  tar -xjf all.tar.bz2    这条命令是将上面产生的包解开
  • tar和compress(也是一个压缩程序) 合作使用 
    • tar -cZf all.tar.Z *.jpg    这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成 一个uncompress压缩过的包,包名为all.tar.Z
    • tar -xZf all.tar.Z     这条命令是将上面产生的包解开
10.压缩文件gzip(对应解压程序gunzip)和bzip2(对应解压程序bunzip2)
  • gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip 相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip
    • gzip -d all.gz 压缩文件
    • gunzip all.gz   解压文件
  • bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。 与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip
    • bzip2 -d all.bz2 压缩文件
    • bunzip2 all.bz2   解压文件
  • compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人 多。.Z结尾的文件就是compress 压缩的结果。与 compress相对的解压程序是uncompress 。tar中使用-Z这个参数来调用compress
    • uncompress all.Z  解压文件
  • zip和unzip程序,zip是压缩程序,unzip是解压程序
    • zip all.zip *.jpg     这条命令是将所有.jpg的文件压缩成一个zip包  
    • unzip all.zip      这条命令是将all.zip中的所有文件解压出来
11.rar文件的处理
  • 要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux 不是免费的;可从http://www.rarsoft.com/download.htm下载RARfor Linux 3.2.
  • tar -xzpvf rarlinux-3.2.0.tar.gz
  • cd rar
  • make
  • 这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法 
  • rar a all *.jpg    这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后
  •  unrar e all.rar    这条命令是将all.rar中的所有文件解压出来
12.上传文件命令(rz命令)
  • 主要用于将window上的文件上传到linux中
  • 但是上传大一些的文件或者含有控制字符的时候SecureCRT提示 :"zmodem transfer canceled by remote side"        解决:使用 rz -e 命令可以解决这个问题
13.ls命令
  • 主要用于列出目录下的的内容
  • ls -l    列出目录下的所有目录
  • ls -f  列出目录下的所有文件
  • ls -a   列出目录下的所有内容个,包括隐藏的内容
14.find命令
  • find /home -name  *.txt   查找home目录下以.txt结尾的文件
  • find   /home   -mtime   -2                 在/home下查最近两天内改动过的文件
  • find /home    -atime -1                  查1天之内被存取过的文件
  • find /home -mmin    +60                  在/home下查60分钟前改动过的文件
  • find /home   -amin   +30                  查最近30分钟前被存取过的文件
  • find / -name config.properties         全局查找config.properties文件
15.sh命令(启动某个程序的命令)
  • 用于执行某个目录的下的以.sh结尾的文件脚本例如:sh  /usr/local/src/install/jdk/install.sh
16.Ctrl命令
  • Ctrl+C  结束当前终端执行的程序
  • Ctrl+A  将光标移到命令行的开始处
  • Ctrl+E  将光标移到命令行的结尾处
  • Ctrl+U  删除行首到光标处的内容
  • Ctrl+Z  把当前进程送到后台处理
17.tap键  用于补全操作
18.解压war的操作
  • jar -xvf project.war     将war包解压到当前目录下
19.查看进程和杀死进程
  • kill 命令用于终止进程例如: kill -9 [PID](-9表示强迫进程立即停止)
  •     ps命令查找与进程相关的PID号:
  •     ps a 显示现行终端机下的所有程序,包括其他用户的程序。
  •     ps -A 显示所有程序。
  •     ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
  •     ps -e 此参数的效果和指定"A"参数相同。
  •     ps e 列出程序时,显示每个程序所使用的环境变量。
  •     ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
  •     ps -H 显示树状结构,表示程序间的相互关系。
  •     ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
  •     ps s 采用程序信号的格式显示程序状况。
  •     ps S 列出程序时,包括已中断的子程序资料。
  •     ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
  •     ps u 以用户为主的格式来显示程序状况。
  •     ps x 显示所有程序,不以终端机来区分
     例如:
  •  最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
              ps aux | grep program_filter_word,ps -ef |grep tomcat
 
  • ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。
20.在一个文件中查找文本的命令
  • grep ' str' filename     str:表示要查找的字符窜    filename表示在哪个文件查找  例如:grep  'uqihong'  server.xml
  • vi或者vim  filename然后“/”  就可以查找要找的内容了     filename表示要编辑的文件  
21.清屏命令
  • ctrl+l   这是清屏的快捷键
  • clear    刷新屏幕,本质和第一个命令一样,只是将屏幕向后翻一页,如果向上滚屏还是可以看到以前的内容
  • reset   这个命令将完全刷新终端屏幕,之前的终端输入操作信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少。值得一提的是reset命令在你的终端控制错乱时非常有用。如输入字符不出现在光标的位置的情况。还有当你敲击回车键时,新提示符并没有出现在新行上而是出现在老提示符的前面。此时reset命令就能用来修正这些问题
  • printf " 33c"    这个命令它才是真正的清空了终端屏幕
22.启动tomcat并打印日志
  • /usr/local/tomcat-uqihong-www/bin/startup.sh & tail -f /usr/local/tomcat-uqihong-www/logs/catalina.out
23.nginx命令
  • /usr/local/nginx/nginx/sbin/nginx -t     测试nginx配置文件是否编写正确
  • /usr/nginx/sbin/nginx -s reload     重启nginx的命令
24.查找历史使用的命令
  • hostory  可以查找历史使用的命令
  • !XXXX   “XXXX”代表上面查出来的命令的编号,这样就是一直接执行对应的命令
25.sed命令
26.root用户操作
  • chown -R dev:dev /usr/local/apps/uqihong-web-www/ /usr/local/apps/uqihong-web-manage/     将某些文件的权限指给另一个用户
27.创建新用户和修改用户
     添加:
  • useradd dev  创建一个用户名为dev的用户
  • passwd dev 锁定这歌dev用户,准备为此用户添加密码,然后输入两次密码就可以了
     修改
  • usermod -l  newUserName  oldUserName   修改用户名
  • passwd命令可以修改密码   修改root密码:直接输入passwd ;修改其他用户密码:passwd  username,然后输入两次新密码就可以了
  • usermod其他参数如下:
    • -c<备注>  修改用户帐号的备注文字。
    • -d<登入目录>  修改用户登入时的目录。
    • -e<有效期限>  修改帐号的有效期限。
    • -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
    • -g<群组>  修改用户所属的群组。
    • -G<群组>  修改用户所属的附加群组。
    • -l<帐号名称>  修改用户帐号名称。
    • -L  锁定用户密码,使密码无效。
    • -s  修改用户登入后所使用的shell。
    • -u  修改用户ID
    • -U  解除密码锁定。
28.回退和前进操作
  • u      回退
  • ctrl+r  前进
29.如何将
  • 安装中文语言包: yum groupinstall chinese-support
30.查看linux服务器的内存信息
  • top        执行  
  • q          关闭
  • free -m  产看剩余内存   
31.远程复制
  • scp  /usr/local/tomcattwo-tfedu-www/conf/server.xml  dev@192.168.1.16:/usr/local/tomcat-tfedu-www/conf/server.xml         
32.管道的使用
    管道的使用可以达到类似于链式命令的效果。例如:
alias rs_tfude="ps aux grep tomcat-tfedu-www grep -v grep awk '{print $2}' xargs kill -;/usr/local/tomcat-tfedu-www/bin/startup.sh ;tail -200f /usr/local/tomcat-tfedu-www/logs/catalina.out"
  • "|"表示正则匹配,此符号后面的东西就是匹配的条件用于筛选
  • 每次筛选的结果都会向后传递
  • awk 表示获取值,例如:awk '{print $2}'  表示打印出前面传递过来的内容的第二个位置的值
  • xargs  给命令传递参数的过滤器
33.别名
    可以把一些常用的命令,封装成一个简单的自定义命令,这个可以减少操作,别名的使用是和登录用户有关的,换了用户所起的别名就不能使用了。
步骤
  • vim .bashrc  此文件就是我们设置别名的地方
  • 格式:alias rs_tfedu_www="xxx"  alias:这个是固定写法;  rs_tfedu_www:是我们起的别名;xxx:是我们的命令;例如:alias rs_tfedu8="ps aux|grep tomcat8 |grep -v grep |awk '{print $2}'| xargs kill -9 ;/usr/local/tomcat8/bin/startup.sh ;tail -f /usr/local/tomcat8/logs/catalina.out"
 34.查看内存
  •  top

    linux命令

      

    第三行就是CPU的使用情况了,如下: 

%Cpu(s)  
us 用户空间占用CPU百分比
sy 内核空间占用CPU百分比
ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比
wa 等待输入输出的CPU时间百分比
hi CPU服务于硬件中断所耗费的时间总额
si CPU服务软中断所耗费的时间总额
st Steal Time

    第四、五行就是内存的使用情况了,和free命令里相似。然后是列表的

PID 进程ID
USER 进程所有者
PR 优先级
NI nice值,负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量
RES 进程使用的、未被换出的物理内存大小
SHR 共享内存大小
S 进程状态
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用CPU总时间
COMMAND 命令名、命令行
  • free
  • vmstat
 35.查看日志
  • 查看当前日志:cat /home/kuangxiang/za-athena-insure/insf-ss_regular_app_athenainsure_lt_all.log|grep -a10 -b10 '前置授信' --color
  • 查看打成tar.gz得日志:zcat 20181102.tar.gz | grep -a 'ee';或者zcat za-athena-insure/20181029.*|grep --binary-files=text  'JDZEDXYXf759e076289842a39eb0a0c96fde0416' -C 30