linux常用命令

文件和目录

cd  /    进入系统根目录

cd  /etc   进入 /etc目录 

cd   etc   进入当前目录下的etc目录

tab    可以根据输入的首几个字母进行智能提示 

cd  ..     进入上一层目录

ls    查看目录中的文件

ls -lrt  表示按修改时间 倒序 列出当前工作目录下的所有文件的详细信息。
ll     查看目录中文件的详细资料
ls -a   显示隐藏文件

mkdir dir1    创建一个叫做 'dir1' 的目录' 
mkdir dir1 dir2 同时创建两个目录 
mkdir -p  /tmp/dir1/dir2 创建一个目录树 
rm  -f  file1 删除一个叫做 'file1' 的文件' 
rmdir  dir1 删除一个叫做 'dir1' 的目录' 
rm  -rf  dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 
rm  -rf  dir1  dir2 同时删除两个目录及它们的内容 
mv  dir1  new_dir   重命名/移动 一个目录 
cp   file1   file2     复制一个文件 
cp    dir/*    .     复制一个目录下的所有文件到当前工作目录 (最后面有一个点,不要忽略了)
cp   -a /tmp/dir1    .   复制一个目录到当前工作目录 

cp     -r  /datadisk/SolrCloud/basic_configs  .  复制目录及子目录的全部内容到当前目录

cp    -a    dir1   dir2  复制一个目录

touch    123.txt(文件名 )      创建文件 123.txt

pwd  显示路径

 

Vim查看和编辑:

vim   test.txt      编辑文件名为test.txt的文件

  • i  进入编辑模式。
  • Esc 退出编辑模式,回到一般模式。
  • 一般模式切换到命令行模式可用的按钮说明
  • :w 保存编辑的内容
  • :w!强制写入该文件,但跟你对该文件的权限有关
  • :q 离开vi
  • :q! 不想保存修改强制离开
  • :wq 保存后离开
  • :x 保存后离开
  • ZZ 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开
  • /test 表示向下查找文件中带有test的内容。接着 n 可以查看下一个匹配,N查看上一个匹配
  • ?test 表示向上查找带有test的内容。
  • :$  进入文件末尾。也可以用大写G跳转到文件末尾。
  • :1  进入文件头

 Vi查看:

  • :g  移动到这个文件的第一行,也可以用1G。
  • :h  也就是help,可以显示各个命令的解释。
  • :H 光标移动到这个屏幕的最上方那一行的第一个字符
    :M 光标移动到这个屏幕的中间那一行的第一个字符
    :L 光标移动到这个屏幕的最下方那一行的第一个字符

文件搜索/查找

1.find /etc -name httpd.conf  在/etc目录下查找文件httpd.conf

2.find /usr  -name  "*redis*"      从usr目录中查找带有名字带有redis的文件

3.grep -H 'spring' *.xml            查找所以有的包含spring的xml文件

4.grep -rn "hello,world!" *       查找含有某字符串的所有文件

5. grep "关键字1" 文件名 | grep "关键字2"      在某个文件查询多个关键字

详情见: https://www.cnblogs.com/wangkongming/p/4476933.html

 

 

排序

1. | sort -k5 -nr     按照第列的数值 降序排列。去掉-r就是升序

管道命令

1. 管道符号 | ,表示前面命令输出的信息,通过管道交由后续的命令继续使用。

 

查看文件内容(包括查看日志)

 1.cat   filename   一页一页地显示整个文件

2.cat   file1   file2  > file     将几个文件合并为一个文件。

3.cat filename | tail -n +3000 | head -n 1000      从第3000行开始,显示1000行。即显示3000~3999行

4.cat filename| head -n 3000 | tail -n +1000      显示1000行到3000行

5.cat -n filename |grep "关键字"

6.less filename | grep -C 5 '关键字' (显示日志里匹配字串那行以及前后5行)
less filename | grep -B 5 '关键字' (显示匹配字串及前5行)
less filename | grep -A 5 '关键字' (显示匹配字串及后5行)

7. cat、more 、less有什么区别?

cat会一行一行地展示整个文件的所有内容。

more和less功能相似,都可以逐页查看,但more只能往后翻页。

less最好用,不仅可以逐页查看,还可以前后翻页,关键字匹配。

7. tail -f info.log   实时显示日志

tail -100f  info.log   实时监控末尾100行日志

tail -f info.log | grep "关键字" -C 10   :搜索日志关键字的前后10行
tail -1000f  info.log | grep "关键字" -A 10:  搜索最近1000行里包括关键字的后10行

-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context

 

8. grep "关键字1" 文件名 | grep "关键字2"  -C 10     查询多个关键字的日志

8.  :0或者:1  跳转到首行 

9.大写G  跳到日志末尾

搜索日志内容的步骤:vim 打开日志文件,大写 G 跳到日志末尾,然后用 ?和关键词向上搜索(比如?test),最后使用n查找下一个匹配的内容,N跳转到上一个匹配的内容。

10.grep "abc" /logs/my-service*  -r   在名称为my-service开头的多个文件中搜索abc相关的内容 

如果不确定在哪个文件,也可以直接  grep "abc" -r

-r 递归查找文件
-e 从文件内容查找与正则表达式匹配的行
–i 查时不区分大小写
-c 查找匹配的行数
-v 从文件内容查找不匹配指定字符串的行

 

 

文本处理

 

打包和压缩文件

 tar -xvzf  redis-3.0.tar.gz  解压tar文件

 unzip redis.zip   解压压缩包

gzip  -d 123.log.gz  解压gz压缩包

RPM 包

rpm -ivh package.rpm 安装一个rpm包 
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -e package_name.rpm 删除一个rpm包
rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包

上传下载 

sz加上文件名 :sz命令从服务器发送(send)文件到本地

rz: 将本地文件上传,服务器接收(receive)

网络

1.ifconfig     显示ip。其中的ens33后面的 inet 就是ip地址。

2.service iptables stop    centos6停止防火墙

3.systemctl stop firewalld.service    #停止firewall
4.systemctl disable firewalld.service     #禁止firewall开机启动

5.vi /etc/sysconfig/network-scripts/ifcfg-eth0    修改静态ip

6.route   查看子网掩码

内存

1.free 显示内存状态。

free -m 表示以MB为单位显示内存

2.sync可以刷新文件系统缓冲区,把缓冲区的数据强制向硬盘中保存。。

通过free命令,可以查到缓冲区buff/cache的大小,以及剩余内存free的大小。如果free的内存太小,可以使用sync

 

 接口请求

参考资料:https://blog.csdn.net/ithomer/article/details/82156402
curl:使用curl发送post请求如下:
其中-H表示请求头header,后面指定header里面的参数。-X后面指定请求的命令,比如POST。

-d是指data,后面表示的是参数内容,而最后面的是url地址。


格式为:

curl -H "Content-Type:application/json" -X POST -d 'json data' URL

如果是json,示例如下:

curl -H "Content-Type:application/json" -X POST -d '{"user": "lin", "passwd":"12345678"}' https://test.com/login 

如果是表单,则示例如下:

curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d 't=1459497295019&token=78535A7FB99FB45C1D4EB9' http://www.kdfpy.com/RecommendWeb/api/company

 进程和端口

0. top: top 命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

其中%CPU 表示CPU占用百分比,再按下P就可以按CPU使用资源来排序,

而%MEM 表示进程使用的物理内存百分比,再按下M就可以按Memory(内存)排序了。

top命令详情见: http://www.linuxidc.com/Linux/2011-03/33582.htm

1.  ps (英文全拼:process status)命令用于显示当前进程的状态。

ps -ef | grep -i redis     查看包含redis的进程

  • -e:显示所有程序
  • -f:显示UID,PPID与STIME
  • |:管道命令,指ps和grep同时执行
  • grep -i :忽略字符大小写的差别进行匹配。

ps aux    :表示查看系统所有的进程

详情见:  https://blog.csdn.net/hanner_cheung/article/details/6081440

ps和top的区别: top是动态地查看,很隔一会排序就会变化。而ps是静态的。

2.netstat -pan|grep 3086   :表示根据进程3086查到对应的端口。

netstat可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字;其中p表示进程PID

3.kill -9  3086    杀死进程3086

4.lsof  -i:8080  查看8080端口占用

lsof(list open files)可以列出当前系统打开的文件。而在Linux中,一切皆是文件。
-i 表示显示所有连接。

 

系统资源

vmstat: 检测系统资源的变化,包括CPU、内存、磁盘、I/O等。

 

磁盘

df,表示 disk free.  显示磁盘的使用情况。

 

Tomcat

sh  start.sh   启动Tomcat(必须在bin目录下执行)

sh  shutdown.sh    关闭Tomcat(必须在bin目录下执行)

ps -ef | grep  java   查看Tomcat是否启动。主要看路径是否有 -Dcatalina.base 和 -Dcatalina.home。

vim  logs/catalina.out    查看Tomcat的日志。如果启动失败,可以根据日志来排错。

 

其他

1.getconf LONG_BIT       查看linux是32位还是64位

2.想使用root登录,首先要重设置root用户的密码。

命令:   sudo passwd root

这样就可以设置root用户的密码了。之后就可以自由的切换到root用户了

命令:  su

输入root用户的密码即可。

注:也可以使用sudo -i

3.make  自动化编译  。makefile文档里面定义了一系列的规则指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,它记录了原始码如何编译的详细信息。makefile文档只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

 

如何查看命令?

可以在"菜鸟教程"的 "Linux 命令大全" 中查看。

https://www.runoob.com/linux/linux-command-manual.html

英文好的,也可以查看Linux Man Page(使用手册)。

https://man7.org/linux/man-pages/dir_section_1.html

 

参考资料: 

https://www.cnblogs.com/yjd_hycf_space/p/7730690.html

 

posted on 2018-10-11 22:43  乐之者v  阅读(255)  评论(0编辑  收藏  举报

导航