Linux常用命令

2018-7-19更。本文主要用于记录一些 Linux 的常用命令供自己参考。

主要针对 Centos

一、各种查看

1、查看目录

    pwd           查看当前目录

    ls               显示当前目录下的文件

         另: -l(ls -l 等价于 ll) 列出文件的详细信息

                -a 列出所有文件,包括隐藏的

                -Z 查看具体权限说明
</p>

2、查看文件

    不常用:cat 和 tac 分别是正向和逆向查看文件全内容

    常用:moreless(分页显示文件内容),headtail(显示文件的头或尾内容)

        ① less 可以使用 pageup 和 pagedown 按键来翻页,并且可以使用 /关键字 来搜索内容(n键下一个,q键退出

        ② head 和 tail 语法为 head [-n number] 文件名 (number是指定显示的行数)

        动态查看日志刷新时,使用 tail -f 文件名 来查看文件内容

        ③ tailf 几乎等价于 tail -f ,但区别就是当日志文件名更改之后,tailf 仍然可以进行跟踪

        查看指定末尾100行:tail -n 100 文件名

        ④ stat 查看文件的详细信息

    查看指定文本的 行数、字数、字符数,用:wc

3、查看进程

    最常用:ps -ef | grep java   或者   ps aux | grep java

    其中:f 表示树状结构显示,a 表示所有用户,u 表示以用户为主的格式来显示

    另:查看所有进程,用 ps -A 或者 ps -e

          查看指定用户jet的进程,用 ps -u jet

          查看非root运行的进程,用 ps -U root -u root -N

          查找进行,用 pgrep java

          查找指定用户jet的进程,用 pgrep -u jet java

          top 命令查看系统的动态实时视图

    杀进程用: kill -9 xxxx (xxxx代表pid)

4、查看安装 nginx 所生成的文件 

    rpm -ql nginx

5、查看主机等基础信息

    who           显示在线登陆用户

    w                查看当前在线用户的操作命令

    whoami     显示当前操作用户

    hostname  显示主机名

    uname       显示系统信息

    ifconfig      显示网络情况(ip 等)

    df -lh          查看磁盘

二、各种修改

1、文件夹

    创建:mkdir

    移动(重命名):mv

2、文件

    创建空文件:touch

    添加内容到指定文件:echo 内容 > 文件名   或者    echo 内容 >> 文件名 (前者是覆盖,后者是追加)

    修改内容:最基础的是 vi,vi 基础按键:

         ① 光标:k、j、h、l  对应上、下、左、右

                    nG  跳转到指定的 n 行

                    Ctrl + G 光标所在的位置的行数和列数报告

                    w 、 b  使光标向前或向后跳过一个单词

        ② 编辑:i、a、r  在光标的前、后、以及所在处插入字符

                      cw、dw 改变/删除光标所在处的单词

                      x、d$、dd  删除一个字符、删除光标所在处到行尾、删除整行

                      u  回复前一步的操作

        ③ 查找:/string、?string  从光标所在处向后或向前查找相应的字符串

        ④ 复制:yy、p   拷贝一行到剪贴板、取出剪贴板中的内容

        ⑤ 同时编辑两个文件:vi file1 file2

                两个文件之间切换:    :n

        ⑥ 保存:ZZ、:x  保存并退出

        ⑦ 退出::q、:q!  退出、不保存直接退出

3、打包压缩

    常用语法: tar 命令集 文件与目录

    命令集:

            -c 归档文件(压缩,create)

            -x 解压缩文件(c 和 x 只能存一)

            -z gzip 压缩文件

            -J bzip2 压缩文件

            -v 显示压缩或解压缩的过长

            -f 使用档名(f 之后不能加参数,如-zcvfp 就是错误的)

            -t 查看压缩包里面的文件

    经典案例:

      压缩:

        ① 将abc 只打包不压缩             tar -cvf /home/abc.tar /home/abc

        ② 将abc 打包并使用gzip压缩   tar -zcvf /home/abc.tar.gz /home/abc

        ③ 将abc 打包并使用bzip2压缩   tar -jcvf /home/abc.tar.bz2 /home/abc</span>

      解压缩:把上述命令中的 c 替换成 x 就行
</span>

      查看压缩包内部:注意要根据压缩形式,即如果是gzip 压缩的,就要用 tar -ztvf /home/abc.tar.gz
</span>

      华彩:如果只想解压出abc 文件内部的一个demo 文件夹,此时要使用 tar -zcvf /home/abc.tar.gz abc/demo</strong> /home/abc ,即在tar 包后面指定内部文件名</span></span></span>

三、各种删除

1、文件和文件夹

    删除空目录:rmdir

    删除:rm

        可选参数: -r 递归删除

                          -f 强制删除

四、各种运行

1、持续运行 jar 包,场景就是 spring-boot 项目打成了 jar 包,放 Linux 直接运行

    nohup java -jar name & (nohup 代表不挂断地运行,场景就是关掉SSH客户端之后程序继续运行,& 代表让程序自动运行,那么自然就是 jar 的名字啦,如:demo.jar)

2、关机、重启

    关机:halt

    重启:reboot

    关机重启:shutdown -r

    关机不重启:shutdown -h

    立即关机: shutdown now

3、上传下载

    有很多方式,介绍一下 rz 、sz 配合 SSH 来实现上传和下载 

    上传 rz

    下载 sz

    前提,需要安装:yum -y install lrzsz


五、基础操作

1、防火墙操作

    ① 查看已添加的iptables规则: iptables -L -n  (service iptables status)

        将所有iptables以序号标记显示: iptables -L -n —line-numbers

    ② 开端口:iptables -A INPUT -p tcp —dport 80 -j ACCEPT

        快速:

                /sbin/iptables -I INPUT -p tcp —dport 80 -j ACCEPT

                /etc/rc.d/init.d/iptables save</span>

    ③ 配置文件:vim /etc/sysconfig/iptables

    ④ 基本操作

        # service iptables stop  

        # service iptables start  

        # service iptables restart  

2、yum 源更换镜像

    ① 备份:# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

    ② 下载,(centos6或者7,自行更替)

        163:# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo

        阿里:# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

    ③ 更新yum配置,生成缓存

        # yum clean all

        # yum makecache

3、调整时间

    ① 联网同步

    在此只介绍如何同步系统时间和 NTP 时间(网络时间协议)。

    ntpdate pool.ntp.org

    如果没有安装话需要先安装:

    centos:yum install ntp

    ubuntu:apt-get update
                   apt-get install ntp

    ② 手动修改

        命令:date [指令] [参数]

                #设定日期20180330 时刻归零00:00:00  

                date —s “20180330”  

                #设定时刻20:32:59 日期保持不变  

                date —s “20:32:59”  

                #以下六种均可同时设定日期和时刻  

                date —s “20180330 20:32:59”  

                date —s “20:32:59 20180330”  

                date —s “2018/03/30 20:32:59”  

                date —s “20:32:59 2018/03/30”  

                date —s “20:32:59 03/30/2018”  

                date —s “03/30/2018 20:32:59”

   

    ③ 时区调整

        查看当前时区:date -R

        手动设置时区:tzselect

            然后跟着一步一步设置,然后再替换系统时区文件或者创建软连接

            demo:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime



六、环境配置

1、jdk

    ① 删除默认安装的 openjdk

        查看包含 java 的程序:rpm -qa | grep java

                                           rpm -qa | grep gcj

                                           rpm -qa | grep jdk</span>

        卸载对应程序:rpm -e —nodeps xxx</span></span>

    ②安装 jdk(本人喜欢 tar 包安装):
</span></span>

        解压:tar -zxvf xxx

    ③配置环境变量:

        修改配置文件:vim /etc/profile

        在里面添加环境:

            # jdk

            export JAVA_HOME=/usr/java/jdk1.8.0_161

            export PATH=$JAVA_HOME/bin:$PATH

       使配置文件生效:source /etc/profile

         

七、权限相关

    ① SELinux

        策略有三种:① enforcing 强制模式,② permissive 允许模式,③ disabled 禁用模式

        配置文件:/etc/sysconfig/selinux

        查看和临时修改:getenforce 和 setenforce 0  

            说明,0:permissive,1:enforcing

    ② 调整文件所属用户和组

        chown username:usergroup /path/to/file

    ③ 权限查看

        ll 命令即可查看,

        权限有, r:读,w:写,x:操作

        从左至右依次为:所属人权限,所属组权限,其余人所有人权限

            例:drwxr-xr-x

    ④ 修改权限

        u:user,g:group,o:otner,a:all

        +:增加,-:取消

            例,给予所有人w权限:chmod a+w /path/to/file

        r:4,w:2,x:1

            例,给予文件所有人所有权限:chmod 777 /path/to/file



八、其它命令

    ① scp 命令文件上传下载

        复制本地文件到远程服务器:scp local_file remote_username@remote_ip:remote_folder;

        例如:scp /home/jet/file.md jet@192.168.1.1:/home/jet/test.md


        复制远程文件到本地:scp remote_username@remote_ip:remote_folder local_file

        例如:scp jet@192.168.1.1:/home/jet/test.md /home/jet/file.md

    ② 查看公网ip

        curl ipinfo.io

    ③ 查域名指向的服务器ip

        nslookup jetchen.cn

    ④ 查看有没有安装某服务

        which vsftpd





            


------ 本文结束 感谢阅读 ------
0%