zoukankan      html  css  js  c++  java
  • Linux常用基本命令

    Linux系统的重要性大家都知道,下面我来汇总一下Linux常用的基本命令,有什么不足或者错误的地方希望大家多多指正.

    一、基本常用类

    1. 帮助手册
    man(manual手册)
    man ls
    或者
    –help
    例如:
    ls --help

    2. 日期类

    date

    date +%Y-%m-%d

    date +%Y-%m-%d’ ‘%H:%M:%S

    date +%F’ '%T

    cal

    cal -y (展示一年的日历)

    3. clear 或者 ctrl + L 清屏

    4. cd切换目录

    cd … 返回上级目录

    cd / 返回至/

    cd ~ 返回家目录

    cd /etc/sysconfig 通过绝对路径访问(利用tab键)

    cd ./sysconf 通过相对路径访问

    cd - 回到上一次所在目录

    二、文件目录类

    1.pwd

    例如: 我用cd~进入家目录,然后用pwd 展示当前目录

    2 ls

    列出当前目录所有资源

    ll 等价于 ls -l

    ll -al

    下面图示的依次的列为:

    <类型><权限> <文件:硬连接数或目录:子目录数> < 所属人> <所属组> <大小> <建立时间> <文件名>

    如果文件较大,可以用 ll - h 来改变显示类型,

    ll /etc

    ll /etc|grep sos.conf 列出指定目录下的指定文件及目录

    ll /etc|grep conf 列出带conf名称的文件及目录

    功能:列出目录的内容

    语法:ls [选项] [目录或是文件]
    命令中主要选项的含义如下:
    选项与参数:
    -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
    -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
    -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
     每行列出的信息依次是: 
    文件类型与权限 链接数 文件属主 文件属组 文件大小(用byte来表示) 建立或最近修改的时间  名字
    ls -R   递归查看目录里面的内容
    ls -F   选项会在显示目录条目时,在目录后加一个/
    ls -ltr 逆序罗列最新修改过的文件,实用。

    3. grep

    配合显示内容的命令

    例如:上面的图示

    4. mkdir

    创建一个新的目录

    -p,可以自行帮你创建多层目录

    例: mkdir 目录名

    5. rmdir

    删除一个空的目录

    例: rmdir aaa

    6. touch

    新建一个文件

    例:touch 文件名

    7. rm

    移除文件或目录

    rmdir deleteEmptyFolder 删除空目录

    rm -rf deleteFile 递归删除目录中所有内容–不提示

    rm -rvf $JAVA_HOME/* 递归删除目录中所有内容–提示

     

    **

    8. cp

    复制文件或目录

    cp 【要复制的文件】 【到哪里】

    -r 递归复制整个文件夹

    -v 显示复制过程中文件的列表

    强制覆盖不提示的方法

    临时方法:用cp

    例如:

    cp source dest 作用是复制文件

    cp -r sourceFolder targetFolder 递归复制整个文件夹

    cp -rvf a /test 避免悲剧:将a文件夹内容递归拷贝到/test目录下,并进行覆盖。

    9. mv

    移动文件与目录或重命名

    mv oldNameFile newNameFile 重命名

    mv /temp/movefile /targetFolder 移动文件

    10. cat

    查看文件,查看多个文件,合并输出,合并追加

    cat 文件名 查看轻量级的文本文件

    cat 文件1 文件2 连接显示多个文件

    cat 文件1 文件2 > 文件3 合并为新文件

    cat 文件1 文件2 >> 文件3 追加内容

    案例:

    cat springboot2.conf >> springboot.conf

     

    11. more

    查看较长的文件

    空白键 (space):代表向下翻一页

    Enter:代表向下翻一行

    q:代表立刻离开 more ,不再显示该文件内容。

    Ctrl+F 向下滚动一屏

    Ctrl+B 返回上一屏

     

    12. less

    同more类似,比more功能更多。

    [pagedown]:向下翻动一页;

    [pageup] :向上翻动一页;

    /字串 :向下搜寻『字串』的功能;

    ?字串 :向上搜寻『字串』的功能;

    n :重复前一个搜寻 (与 / 或 ? 有关!)

    N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

    more:

    less:

    less命令的话比more查看起来更加方便一些.

    13. tail

    从尾部开始查看,比较适合查看日志

    -f 跟随查看

    -n200 显示的行数,n可以省略。

    案例:

    tail -n 10 example.txt 查看文件头10行

    tail -50f example.txt 查看文件末尾50行,可进行堵塞,文件有新内容增加到文件中,立刻可以显示。

     

    14. history

    所敲命令历史

    15. 重定向命令

     

    16. echo

    打印信息 (区分大小写)

    输出环境变量

    在shell脚本中当system.out.print用

     

    3搜索查找类

    1. find

    查找文件或者目录

    解释: 查找文件或者目录

    命令:find+搜索路径+参数+搜索关键字

    按文件名:find /home/esop -name ‘*.txt’ 根据名称查找/目录下的filename.txt文件。

    按拥有者:find /home/esop -user esop

    2. Locate

    查找文件,查询速度更快,使用更方便。

    运行前需要执行updatedb来更新文件索引。

    updatedb 建立索引

    locate conf 查询速度更快

    存放在临时目录下的资源是不建立索引的

    3. ln

    软连接

    相当于window中的快捷方式。

    ln -s 原文件或目录名 软连接名

    ln -s /etc/sysconfig sysconf

    ls -l 可以查看到列表属性第一位是l,尾部会采用->显示链接名称

    如果cd到软连接目录,cd …退出到的是软连接所在目录

     

    4. grep

    在文件内搜索字符串匹配的行并输出

    配合显示内容的命令,根据跟随的内容显示,该行内容

    例如:ls –l |grep xxx

     

    4 压缩/解压缩

    1 压缩/解压缩 文件(tar)

    解释:打包目录,压缩后的文件格式.tar.gz

    压缩文件(tar)

    tar -zcvf XXX.tar.gz n1.txt

    -c 创建一个新归档

    -v 显示详细信息

    -f 指定压缩后的文件名

    -z 通过 gzip 过滤归档

    2 解压缩文件(tar)

    tar -zxvf XXX.tar.gz

    -x从归档中解出文件

    -v 显示详细信息

    -f 指定解压前的文件名

    -z 通过 gzip 过滤归档

    3 压缩文件(zip/upzip)

    zip

    zip mypackage.zip 1.txt 2.txt

    zip -r pack.zip pack/*

    4 解压缩unzip

    unzip mypackage.zip

     

    6 网络+进程

    1. ifconfig

    如何修改IP

    图形化操作:系统->首选项->网络连接

    DNS配置:

    与网关一样,可以上网

    8.8.8.8 测试不能上网

    114.114.114.114 可以上网

    ** 命令方式**

    vim /etc/sysconfig/network-scripts/ifcfg-System_eth0  (文件名称可能不一样ifcfg-ens33)

    DEVICE=eth0    #接口名(设备,网卡)
    BOOTPROTO=static  # IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议) 
    BROADCAST=192.168.1.255    #广播地址    
    HWADDR=00:0C:2x:6x:0x:xx    #MAC地址 
    IPADDR=192.168.1.23          #IP地址
    NETMASK=255.255.255.0       #网络掩码  
    NETWORK=192.168.1.0        #网络地址 
    ONBOOT=yes                 #系统启动的时候网络接口是否有效(yes/no)
    TYPE=Ethernet                #网络类型(通常是Ethemet,工业以太网)
    参考:
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=4b84fe58-c2ba-421a-b40b-66f31fd2bdb2
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.137.129
    PREFIX=24
    GATEWAY=192.168.137.2
    DNS1=192.168.137.2
    PEERDNS=no

    重启网络 service network restart

    2. 进程线程

    3. ps ★

    天字1号进程是所有进程的父进程

    查看进程

    最常用的方法是

    ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后对进程进行操作

    ps –aux|grep xxx

    System V展示风格

    USER:用户名称

    PID:进程号

    %CPU:进程占用CPU的百分比

    %MEM:进程占用物理内存的百分比

    VSZ:进程占用的虚拟内存大小(单位:KB)

    RSS:进程占用的物理内存大小(单位:KB)

    TT:终端名称,缩写 .

    STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

    STARTED:进程的启动时间

    TIME:CPU时间,即进程使用CPU的总时间

    COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

    ps –ef

    是以全格式显示当前所有的进程

    -e 显示所有进程。

    -f 全格式。

    ps -ef|grep xxx

    是BSD风格

    UID:用户ID

    PID:进程ID

    PPID:父进程ID

    C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

    STIME:进程启动的时间

    TTY:完整的终端名称

    TIME:CPU时间

    CMD:启动进程所用的命令和参数

    CentOS6 (天字号1号进程,CentOS6中 /sbin/init)

    CentOS7(天字号1号进程,CentOS7中 /usr/lib/systemd/systemd)

    最后一个进程,就是刚刚执行的命令进程

    综上:

    如果想查看进程的CPU占用率和内存占用率,可以使用aux

    如果想查看进程的父进程ID可以使用ef

    4. kill 杀死进程

    kill pid 通过唯一标识pid杀死进程

    -9 强行杀死进程

    案例:

    在虚拟系统中打开文本编辑器

    查看gedit进程

    杀死gedit进程

    杀级别比较高的进程:bash进程(命令行窗口),采用-9

    5. killall

    killall name 通过进程名称杀死进程

    killall gedit 杀死所有的gedit进程

    6. service(CentOS6)

    注册在系统中的标准化进程

    方便统一的管理方式(常用的方法)

    service 服务名 start

    service 服务名 stop

    service 服务名 restart

    service 服务名 reload

    service 服务名 status

    查看服务的方法 /etc/init.d/服务名

    通过chkconfig 命令设置自启动

    查看服务 chkconfig --list|grep xxx

    chkconfig --level 5 服务名 on

    案例:

    显示系统所有服务

    显示服务有哪些操作

    查看服务状态(防火墙状态)

    停止服务

    查看服务启动(运行级别)

    CentOS7显示内容:

    vim /etc/inittab

    关闭防火墙,查看级别:vi /etc/inittab

    Linux系统有7种运行级别(runlevel):常用的是级别3和5(CentOS7中只有两个级别了:3和5)

    运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

    运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

    运行级别2:多用户状态(没有NFS),不支持网络

    运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

    运行级别4:系统未使用,保留

    运行级别5:X11控制台,登陆后进入图形GUI模式

    运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

    7. systemctl (Centos7)

    注册在系统中的标准化程序

    有方便统一的管理方式(常用的方法)

    systemctl start 服务名(xxxx.service)

    systemctl restart 服务名(xxxx.service)

    systemctl stop 服务名(xxxx.service)

    systemctl reload 服务名(xxxx.service)

    systemctl status 服务名(xxxx.service)

    查看服务的方法 /usr/lib/systemd/system

    查看服务的命令

    systemctl list-unit-files

    systemctl --type service

    通过systemctl 命令设置自启动

    自启动systemctl enable service_name

    不自启动systemctl disable service_name

    CentOS7设置防火墙自启动/禁用自启动

    systemctl list-unit-file | grep firewalld

    运行级别runlevel(centos7)

    查看默认级别: vim /etc/inittab

    Centos7运行级别简化为:

    multi-user.target 等价于原运行级别3(多用户有网,无图形界面)

    graphical.target 等价于原运行级别5(多用户有网,有图形界面)

    8. netstat

    查看端口8080的使用情况,见下:

    netstat –anp|grep 8080

    查看网络信息

    查看22端口状态

  • 相关阅读:
    从入门到不放弃系列之Koa2
    进击Node.js基础(二)
    进击Node.js基础(一)
    探知浏览器并发请求个数
    Elasticsearch 聚合操作
    Elasticsearch 数据查询
    Elasticsearch 数据操作
    Elasticsearch 映射操作
    Elasticsearch 索引操作
    IDEA类和方法注释模板设置
  • 原文地址:https://www.cnblogs.com/jinwenyi/p/13453935.html
Copyright © 2011-2022 走看看