Linux中常用命令
.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 "\033c" 这个命令它才是真正的清空了终端屏幕
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 -9 ;/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
第三行就是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
- 从多个日志文件中查找关键字: find . -type f -name "channel-service.2019-12-04.*" |xargs grep -C100 'GJJ51FrontServiceImpl.apply'|grep -a '19339183'