zoukankan      html  css  js  c++  java
  • linux基本命令--day02

    目录树架构示意图


    以下是对这些目录的解释:

    • /bin:
      bin是Binary的缩写, 这个目录存放着最经常使用的命令。

    • /boot:
      这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

    • /dev :
      dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

    • /etc:
      这个目录用来存放所有的系统管理所需要的配置文件和子目录。

    • /home:
      用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

    • /lib:
      这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

    • /lost+found:
      这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

    • /media:
      linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

    • /mnt:
      系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

    • /opt:
      这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

    • /proc:
      这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
      这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

    • /root:
      该目录为系统管理员,也称作超级权限者的用户主目录。

    • /sbin:
      s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

    • /selinux:
      这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

    • /srv:
      该目录存放一些服务启动之后需要提取的数据。

    • /sys:
      这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

    sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

    • /tmp:
      这个目录是用来存放一些临时文件的。

    • /usr:
      这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

    • /usr/bin:
      系统用户使用的应用程序。

    • /usr/sbin:
      超级用户使用的比较高级的管理程序和系统守护程序。

    • /usr/src:内核源代码默认的放置目录。

    • /var:
      这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

    在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

    • /etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

    • /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。

    值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

    • /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

    linux命令行的组成结构

    [root@oldboy_python ~]# 
    [root@oldboy_python ~]# 
    [root@oldboy_python ~]# 
    [root@oldboy_python ~]# 
    [root@oldboy_python ~]#
    

    修改命令行提示符

    要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:#set,即可在输出中找到关于PS1的定义如下:

    PS1="[u@h w 	]$"
    
    PS1的定义中个常用的参数的含义如下:
    
    d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"   
    H :#完整的主机名称   
    h :#仅取主机的第一个名字  
    	 :#显示时间为24小时格式,如:HH:MM:SS   
    T :#显示时间为12小时格式   
    A :#显示时间为24小时格式:HH:MM   
    u :#当前用户的账号名称   
    v :#BASH的版本信息   
    w :#完整的工作目录名称   
    W :#利用basename取得工作目录名称,所以只会列出最后一个目录   
    # :#下达的第几个命令   
    $ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$  
    
    # 由此,我们可知linux默认的命令行提示信息为:[当前用户的账号名称@主机的第一个名字 工作目录的最后一项]#
    
    

    更改主机名

    hostnamectl set-hostname liuwei
    改完后需要退出重新登录下
    

    创建多个目录的命令

    mkdir -p 创建的目录不存在时加-p可以创建成功
    mkdir -p /root/qishi8/maxun/{1,2,3}  # 创建多个目录,放在大括号里面用逗号隔开,千万要注意不能有空格
    touch /root/qishi8/maxun{1,2,3} # 创建多个普通文件
    

    vim命令

    vi/vim操作流程: 
    1. vi 打开文件 此时进入命令模式,你可以输入 i 命令,进入编辑模式
    2. 在编辑模式下,开始输入字符串
    3. 写完之后, 按下 esc 回到命令模式,按下 : 进入底线命令模式
    4. :w 写入不退出 :wq! 写入且强制退出 
    
    
    # 方法,命令
    vi
    vim
    使用vi打开oldboy.py,默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"Life is short,i use python"
    按下esc键,回到命令模式
    输入  :wq!  强制保存退出
    w write 写入
    q quit 退出
    ! 强制
    或者  :x 保存退出
    ------
    :q  不保存退出
    :q! 不保存强制退出
    

    cat命令

    cat -n 文件名  查看文件,并显示行号
    
    cat 文件名  查看文件
    
    # 追加文字到文件
    cat >>/tmp/oldboy.txt << EOF
    难难难 道德玄
    不对知音不可谈
    对了知音谈几句
    不对知音枉费舌尖
    EOF
    

    more和less命令

    more xx.txt
    按下空格space是翻页
    按下b键是上一页
    回车键向下读取内容
    q退出
    
    less /etc/passwd
    [pagedown]: 向下翻动一页
    [pageup]:   向上翻动一页
    

    echo命令

    echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】”

    # 默认吧内容显示到终端上    
    echo "666"
    # 写入文件 一个>清除并写入
    echo "666" > /tmp/tiger.txt
    # 追加到文件中 两个>>写入
    echo "666" >> /tmp/tiger.txt
    echo $PATH #取出打印PATH的值
    

    find查找

    -name 按照文件名查找文件
    -type 查找某一类型的文件,诸如:
    b - 块设备文件。
    d - 目录。################
    c - 字符设备文件。
    p - 管道文件。
    l - 符号链接文件。#############
    f - 普通文件。#################
    s - socket文件
    
    # 找出/tmp所有以 .txt 结尾的文件
    find /tmp/ -type f -name "*.txt"
    
    # 找到/etc下所有名字以host开头的文件
    find /etc -name 'host*'
    
    # 找到/opt上一个名为settings.py
    find /opt -name 'settings.py'
    

    管道命令

    Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
    常见用法:
    # 检查python程序是否启动
    ps -ef|grep "python"
    # 将ps -ef的结果输出到文件中
    ps -ef > /opt/ps.txt
    
    # 找到/tmp目录下所有txt文件
    ls /tmp|grep '.txt'
    
    # 检查nginx的端口是否存活
    netstat -tunlp |grep nginx
    

    grep命令

    语法:
    grep [参数] [--color=auto] [字符串] filename
    参数详解:
    -i : 忽略大小写
    -n : 输出行号
    -v : 反向选择
    --color = auto : 给关键词部分添加颜色
    
    grep "我要找什么" /tmp/oldboy.txt
    # 排除 -v,排除我要找的东西
    grep -v "我要找什么 /tmp/oldboy.txt
    
    例题,找出/etc/passwd下root用户所在行,以及行号,显示颜色
    
    cat /etc/passwd |grep '^root' --color=auto -n
    找出/etc/passwd所有不允许登录的用户
    
    grep /sbin/nologin /etc/passwd
    找到/etc/passwd的所有与mysql有关行,行号
    
    cat /etc/passwd |grep 'mysql' -n
    

    head、tail命令

    head显示文件前几行,默认前10行
    tail显示文件后几行,默认后10行
    #查看前两行
    head -2 /tmp/oldboy.txt
    #查看后两行
    tail -2 /tmp/oldboy.txt
    #持续刷新显示
    tail -f xx.log
    
    #显示文件10-30行
    head -30 /tmp/oldboy.txt |tail -21
    

    which命令

    which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
    which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
    也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
    which pwd
    which python
    

    scp命令

    Linux scp命令用于Linux之间复制文件和目录。
    scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
    语法
    scp 【可选参数】 本地源文件 远程文件标记
    -r :递归复制整个目录
    -v:详细方式输出
    -q:不显示传输进度条
    -C:允许压缩
    # 传输本地文件到远程地址
    scp 本地文件  远程用户名@远程ip:远程文件夹/
    scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名
    
    scp /tmp/tiger.py root@192.168.1.155:/home/
    scp /tmp/tiger.py root@192.168.1.155:/home/tiger_python.py
    
    # 输入本地文件夹到远程地址
    scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
    scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy
    
    # 复制远程文件到本地
    scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
    scp -r root@192.168.1.155:/home/oldboy /home/
    

    du命令

    Linux du命令用于显示目录或文件的大小。
    
    du会显示指定的目录或文件所占用的磁盘空间。
    用法
    du 【参数】【文件或目录】
    -s 显示总计
    -h 以k,M,G为单位显示,可读性强
    显示目录或文件所占空间
    #什么都不跟,代表显示当前目录所有文件大小
    du   
    
    #显示/home的总大小
    du -sh /home
    

    top命令

    top 命令用于动态地监视进程活动与系统负载等信息

    第一行 (uptime)
    系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载
    第二行:进程信息
    进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
    第三行:cpu信息
    1.5 us:用户空间所占CPU百分比
    0.9 sy:内核空间占用CPU百分比
    0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
    97.5 id:空闲CPU百分比
    0.2 wa:等待输入输出的CPU时间百分比
    0.0 hi:硬件CPU中断占用百分比
    0.0 si:软中断占用百分比
    0.0 st:虚拟机占用百分比
    第四行:内存信息(与第五行的信息类似与free命令)
    
    8053444 total:物理内存总量
    7779224 used:已使用的内存总量
    274220 free:空闲的内存总量(free+used=total)
    359212 buffers:用作内核缓存的内存量
    第五行:swap信息
    8265724 total:交换分区总量
    33840 used:已使用的交换分区总量
    8231884 free:空闲交换区总量
    4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
    

    chattr命令

    给文件加锁,只能写入数据,无法删除文件

    chattr +a test.py  #+a加锁
    chattr -a test.py #-a解锁
    

    lsattr命令

    查看文件隐藏属性

    lsattr test.py
    

    linux上传下载小工具 lrzsz

    安装:yum install lrzsz
    上传命令: rz
    下载命令: sz 指定的文件
    

    -------------------------------------------

    个性签名:代码过万,键盘敲烂!!!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    Vue DatePicker和不可用
    API图片路径和超链接语义化转换
    jQuery常用插件大全
    前端面试必备技巧整理
    堆与堆排序/Heap&Heap sort
    第k大的数
    POJ 2083 Fractal 分形题目
    最大子数组问题/Maximum Subarray
    一个简单的随机数生成算法
    成绩排序
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/13906590.html
Copyright © 2011-2022 走看看