乐趣区

关于linux:03Linux基础文件类型主辅提示符第1提示符Linux命令内外部命令

03_Linux 根底 - 文件类型 - 主辅提示符 - 第 1 提示符 -Linux 命令 - 内外部命令 - 快捷键 - 改为英文编码 - 3 个工夫 -stat-{1..100}-du-cd-cp-file-mv-echo-id-shell-ln-env-set-which-rpm-/usr-/ 与 /root-hostname-vim-cat-pwd-alias-unalias-ls-ASCII-wc-chmod


一. stat 与 ll

//        stat 与 ll     stat 只能看本人。ll 能看文件夹上面的货色。//        选项组合(不分先后顺序)如  ls  -Al(2 个性能一起显示)//        du  -sh    统计文件和文件夹大小
//        mkdir  -p    如果父目录不存在,就新建
                    如果文件夹存在,就不报错
                    //    写脚本常常用到
                -v        给揭示(显示曾经创立胜利)(没什么用)

stat 与 ll 与 ls -l -d

//        stat 与 ll 与 ls  -l  -d
            stat 只能看自身的文件信息(文件夹自身)ll    能看文件夹上面的货色(文件夹外面的)ls  -l  -d 只看它本人的详细信息 不看外面的(文件夹自身)

二. 汇合 {xx,xxx}

1 条命令建多个文件夹

# 注:关键点 {}
//        mkdir  hunantv/{weishi,jingshi,dushi}        一条命令建多个文件夹
        在 China_voice 门路下建 hunantv 文件夹下的 文件夹(hunantv 在 China_voice 下)
        {weishi,jingshi,dushi} 示意一个汇合,有独特的上一级目录 
        只建一个文件夹的时候,不能用 {} 括起来,{} 会成为文件名。//        一条命令实现(日常用的不多)外面有好几级
        父目录不存在时候  接 -p  选项 

三. {1..100}

# 注:mkdir sc{1..100}
#注:rm  -rf  sc{1..100}
//        mkdir sc{1..100}    产生 1 到 100 的文件
        {1..100} 代表 1 到 100 的汇合 和后面的 sc 组合
        mkdir  能够一次性建设多个  的性能
        //    rm  -rf  sc{1..100}
            rm  -rf  sc*      2 种都能删
//        mandatory 命令的
        arguments 参数
//        mkdir  -p    如果父目录不存在,就新建
                    如果文件夹存在,就不报错 
//        mkdir  -v    给揭示 

四. du -sh

//        du  -sh  查看目录大小
        命令  选项  参数 

五. cd

//        cd  -  返回上一次所在的门路
        cd  .  进入当前目录
        cd  ..  返回到上一级目录
        cd  ~  返回到以后用户的家目录
        cd        返回到以后用户的家目录
cd 命令
用处:切换工作目录(Change Directory)格局:cd  [目录地位]
#注:非凡目录 
.     当前目录
..     上一级目录
~     用户主目录(家目录)-     上一次所在的工作目录(遥控器上的返回键)//        useradd  xulilin  新建用户
        cd  ~xulilin  进入 xulilin 这个用户的家目录
        [root@localhost xulilin]# pwd
        /home/xulilin
//        mkdir    新建目录
        touch  qijian    新建空文件
        touch  hengshan/yilin.txt

六. cp -r

//        cp  /etc/hosts  songshan/    复制文件不接 -r
        cp  hengshan/  songsahn/  -r  复制文件夹接 -r

七. file

//        file  taishan  查看文件类型 

八. 文件类型

//        经典文件类型:目录        directory
                    空文件        empty
                    文本文件    text
//        du  -sh  taishan/  查看文件大小
//        rm  -rf  tianshan/      删除 

九. cp

//        cp    复制的时候:复制,粘贴,重命名一步到位(重命名要前面不存在)cp  a.txt  abc.txt(目录下有 2 个文件 a.txt  abc.txt)cp  a.txt  songshan/feng.txt(复制到 songshan 下改名叫 feng.txt)cp  hengshan/  songshan/nanyue_hs  -r(复制文件夹接 -r)复制 hengshan 到 songshan 下 改名 nanyue_hs

十. mv

//        mv    剪切,粘贴,重命名一步到位(重命名要前面不存在)mv  a.txt  hengshan/aaa.txt(剪切粘贴,重命名为 aaa.txt)mv  songshan/  hengshan/shaolinshi(挪动粘贴重命名为 shaolinshi)挪动重命名不须要接 - r 选项(与 cp 的不同点)

十一. 主辅提示符

//        主提示符
        [登录用户 @主机名 工作目录]
        辅助提示符
        #  $
         [root@localhost xuxia]#
        [root@localhost wuxia]# 
        [xulilin@localhost ~]$ 
//        linux 是一个多用户多任务的操作系统
        root 用户家目录  /root
        普通用户家目录    /home 上面跟用户名同名 

十二. echo

//        echo  输入  相当于 print
        PS1 是 linux 零碎里内置的一个变量,不须要咱们定义 

十三. 第 1 提示符

        第 1 提示符变量 PS1   prompt symbol 提醒 符号 variable 变量 

[\u@\h \W]$ 解释

//        # echo $PS1        # 注:第一提示符
        [\u@\h \W]\$
        解释:\u  援用以后的用户  user
           \u  the username of the current user
        \h  援用以后的主机名   hostname
        \W 援用当前工作的目录的名字  working
        \$  当用户为 root 的时候,就输入 #, 如果不是 root 就是 $ 符号
        \t  以后的工夫 

长期批改 PS1 变量

//        # PS1='[\h@\u \t@\W]\$'  长期批改 PS1 变量(没必要改晓得就行)\t 以后的工夫 
[localhost@root 11:01:07@~]#
[localhost@xulilin 11:03:08@boot]$PS1='[\h#\u \t@\W]\$'
[localhost#xulilin 11:03:32@boot]$  // # 也能够 

第 1、2 提示符

//        # echo  $PS1
        [\u@\h \W]\$
        # echo  $PS2   第 2 提示符
        >
//        一行没输完  会显示第 2 提示符 >(只是揭示的作用)

十四. $+ 变量名

        $PS1  $+ 变量名  援用某个变量
//        # echo  $PS1
        [\u@\h \W]\$
//        sg="tangliangfei"  定义一个变量 sg 赋值 tangliangfei 左边赋值右边
        echo $sg  输入 sg 这个变量的值
        shell 编程里援用变量须要接 $+ 变量名
        Shell 编程  linux 里的命令编程
//        mv="liangly"
        echo $sg  $mv
        tangliangfei liangly(都显示)

十五. id

//        id  命令
        [root@localhost china_voice]# id  
        uid=0(root) gid=0(root) 组 =0(root) 环境 =unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
        root 用户 uid 为 0
        user id 用户的编号 uid
        group id 组的编号  gid

十六. Linux 命令

//        Linux 命令
            用于实现某一类性能的指令或程序 
            命令的执行依赖于解释器程序(例如:/bin/bash)//        人 <——> bash <——> 内核 <——> 硬件
        bash  就是解释器  相当于翻译 C 语言写的 程序 工具
        Linux 命令的分类
            外部命令:属于 Shell 解释器的一部分
            外部命令:独立于 Shell 解释器之外的程序文件
//        shell:是一类程序,用来解释用户输出的命令,而后通知内核去执行这些命令
            bsh
            sh
            csh
            bash
            ksh
        bash 是最风行的 shell--》简直所有的 linux 零碎默认的 shell 都是 bash
 人——BASH——kernel
(大略理解)

十七. cat /etc/shells

//        cat /etc/shells  查看本机里有哪些 shell
        /bin/sh   比拟老的 shell
        /bin/bash  
        /usr/bin/sh
        /usr/bin/bash
//        sh  敲 sh,应用 sh,没有提示符,退出去 敲 bash 或者 exit(父子过程)//        切换 shell  sh  和  bash  命令  exit

十八. ln -s

# 注:链接文件 天蓝色
//        ln  -s
        ln  创立链接文件(快捷方式)不要去删除原文件,不然会导致链接文件不可用 (一闪一闪 冒红)
        ln  -s  源文件  链接文件        ln  -s  xulilin  xll
        -s  symbol link 符号链接(软链接 soft)
        # mkdir changsha
        # ln -s  changsha cs  
        # ll
        lrwxrwxrwx. 1 root root  8 9 月  17 11:19 cs -> changsha 

十九. echo $SHELL

//        # echo $SHELL 查看 linux 零碎里默认的 shell
        /bin/bash

二十. env

//        # env  查看以后用户的环境变量(linux 零碎里事后定义的变量)environment
        以后用户的很多过程都能够应用的变量
        环境变量 --》全局变量 

二一. set

        # set  查看所有的变量(自定义变量和环境变量)

二二. 外部外部命令

//        bash - GNU Bourne-Again SHell
        BASH_BUILTINS  builtin 内置(外部)built in
        额定装置的命令 --》外部命令
        通过装置 bash 这个程序就能够失去的命令 --》bash 的外部命令
        yum  install tree -y    tree 命令是外部命令,须要额定装置
        mkdir ip 外部命令  cd echo exit 外部命令 

二三. which

//        which bash              查看 bash 命令寄存在哪里
        /usr/bin/bash

二四. rpm

rpm -qf

# 注:rpm -qf    查问命令通过那个软件包装置过去的
#注:先用 which 查看命令的绝对路径
//        rpm -qf /usr/bin/bash  查问 /usr/bin/bash 是通过哪个软件包装置过去的
        bash-4.4.19-10.el8.x86_64

rpm

//        rpm 是 linux 里的软件治理的命令,例如装置,卸载软件
        -qf     查问文件是通过那个软件装置过去的
//        # which ip
        /usr/sbin/ip
        # rpm -qf /usr/sbin/ip
        iproute-5.3.0-1.el8.x86_64
//        bin  二进制 binary  

二五. /usr

# 注:/usr    寄存装置软件的目录    unix system resource
//        /usr   是 linux 里寄存装置软件的目录   unix system resource  unix 系统资源
        相当于 windows 里的 Program Files
//        链接文件 浅蓝色
        失常文件 深蓝色
//        /  根目录
        /root        root 用户的家目录
        /home/ 用户名同名的目录   普通用户的家目录 

二六. / 与 /root 关系

//        根目录和 root 用户的家目录的关系?/root  在 / 目录下,是蕴含关系
//        ~ 代表家目录,当你所在的文件夹的门路是家目录,就会显示 ~
        普通用户只能进本人家目录,root 用户能进任何家目录↓↓↓

进入其余用户家目录

[xulilin@localhost /]$ cd ~xulilin    # 注:普通用户只能进本人家目录
[xulilin@localhost ~]$ cd ~cali
-bash: cd: /home/cali: 权限不够
[xulilin@localhost ~]$ exit
登记
[root@localhost ~]# cd  ~cali
[root@localhost cali]# pwd
/home/cali
[root@localhost cali]# 

二七. hostname

//        # hostname 查看主机名
        localhost.localdomain

长期、永恒批改主机名

长期批改

//        # hostname  sanchuang-linux  长期批改主机名(不能用下划线_)接着从新登录 su - root(以后终端登录)/ 或者从新建设一个连贯(开一个终端登录)重启后生效
//        为什么要批改主机名?不便辨认,区别不同的服务器 

永恒批改

//*        永恒批改主机名
        # vim  /etc/hostname  改这个文件,打个新名字。# cat  /etc/hostname 
        sanchuang-linux
        重启后失效
//        reboot  重启
//        不肯定非得 虚拟机 登录后 xshell 能力登录
//        提示符
            PS1    第一提示符
            PS2    第二提示符 

二八. vim

//        vim 编辑器的应用
        vim 是 linux 里的字符界面的文本编辑器 ——》记事本  只能写文字
        装置 vim        yum   install  vim  -y
//        vim  sc.txt
        1. 按字母键 i 进入输出模式  insert
        2. 输出内容,能够是中文或者英文
        3. 按 ESC 键,返回到命令模式  escape 来到,逃离
        4. 输出:wq  退出并且保留  write  quit
              :q!  退出不保留
              :q  退出(没有批改能够退出)

二九. cat

//        # cat  sc.txt   查看文本文件里的内容 

三十. 快捷键

//        快捷键
        //    ctrl + l
        //    ctrl + c    强行终止命令  # ^ C
                比方 ping  www.baidu.com  ctrl + c
        //    tab    补齐命令  # mkd(之后按 2 下 tab 键)mkd 结尾的命令都列出来了
                补齐门路  # mkdir wang 唯一性就间接补齐  否则敲两下 列出 wang…
                能辨认唯一性的时候,按一次 tab 键
                不能辨认唯一性的时候,须要按 2 次,而后本人输出
        // 高低方向键,能够调用以前应用过的命令 

三一. pwd

//        pwd  查看工作目录
        cd    切换工作目录
        cd  ~(cd)进入用户家目录
        cd  -    返回上一次目录
        cd  ~  liangluyao  进入 liangluyao 家目录
        cd  ..  返回上一级目录 

三二. 别名

//        ll  是 ls  -l  --color=auto 的别名
//        # alias  查看 linux 里有哪些定义好的别名
//        # alias  c=clear  长期定义 c 是 clear 的别名
        clear 是 linux 零碎里的命令  命令有选项的 要同’’(单引号)引起来 
        再开启一个终端 就没效了 长期定义
        c 是自定义的名字,定义别名的时候,不要和零碎里曾经存在的命令抵触 

勾销别名

//        unalias    勾销别名
        # alias mkdir=ls
        # unalias  mkdir  勾销别名 

永恒批改别名

//        # vim  /root/.bashrc  永恒批改别名,须要从新登陆,或者 su 切换用户到 root
        .bashrc 是一个暗藏文件  按 i 进去 进行别名定义——》ESC  :wq

三三. ls

//        ls 命令
        用处:列表(List)显示目录内容 
        格局:ls  [选项]...  [目录或文件名]
        常用命令选项
        -l:以长格局显示
        -d:显示目录自身的属性
        -t:按文件批改工夫进行排序
        -r:将目录的内容清单以英文字母程序的逆序显示
        -a:显示所有子目录和文件的信息,包含暗藏文件
        -A:相似于“-a”,但不显示“.”和“..”目录的信息
        -h:以更易读的字节单位(K、M 等)显示信息
            //  必须和 -l 一起用
            -h, --human-readable
                with -l and -s, print sizes like 1K 234M 2G etc.
        -R:递归显示内容
            一层一层显示,作用远远不迭 tree 好,很繁琐
//        ls    查看以后 目录
        ls  /boot  查看 /boot 下目录
        ls  -l  -d  /boot  只显示自身的文件夹信息 ls -ld / ls -dl
        ls  -t  工夫  文件批改工夫排序
        ls  -r  英文字母 逆序显示
        ls  -l  -h  /boot  显示 /boot 的各个文件的大小
                -h  必须和  -l  一起用  显示大小 K M G

\ls -l

//        \ls  -l  不显示列出的文件类型色彩 

ls -l |grep “^d”

//        # ls  -l|grep  "^d"  
        解释如下
//        | 管道符号:过程和过程之间通信的一种形式
        作用: 将后面一个命令的输入送给前面一个命令作为输出
            中间商,借花献佛,提篮子
//        grep:文本过滤的命令
            会依据匹配的字符串去过滤,显示出匹配内容的行

//        ^d  示意以 d 结尾的行
//        # ll|grep "txt"
        -rw-r--r--. 1 root root  0 9 月  17 15:58 a.txt
        -rw-r--r--. 1 root root  0 9 月  17 16:02 sc10.txt
        # ll|grep "^d"
        drwxr-xr-x. 5 root root 48 9 月  17 09:51 hunantv
        drwxr-xr-x. 4 root root 42 9 月  17 09:54 jiangsutv
        # ll|grep "^-"
        -rw-r--r--. 1 root root  0 9 月  17 15:58 a.txt
        -rw-r--r--. 1 root root  0 9 月  17 16:02 sc10.txt
        # ll|grep "^-"|wc -l
        11

三四. ASCII

//        ASCII  美国信息替换规范代码
        数字、大写字母、小写字母 ASCII 码值 小——》大
//        一个字节 = 8 位
        101010101
//        man  ls  ——》/-h  查找 -h
//        # man ls
            回车:一行一行的往下走
            /-h  查找蕴含 - h 的行
            n   查找下一个 next
            N   查找上一个   next
            q   退出    

三五. 文件类型

//        文件类型        缩写        利用
        惯例文件        -         保留数据
        目录               d          寄存文件  directory
        符号链接文件        l        指向其它文件  link
        字符设施文件       c        character  --》与字符显示相干的文件
        块设施文件        b         block --> 存放数据的块文件
        s     socket 文件
        p     管道文件 pipe

三六.「drwxr-xr-x. 5 root root 48 9 月 17 09:51 hunantv」解释

//        [root@sanchuang-linux china_voice]# ls  -l
        总用量 0
        drwxr-xr-x. 5 root root 48 9 月  17 09:51 hunantv
            d 代表文件类型  directory 目录
            rwxr-xr-x 权限  r 读 read   w 写 write   x 执行 execute
            . 和 selinux 权限相干
            5 文件的链接数
            root  用户 
            root  组
            48  文件大小
            9 月  17 09:51  文件的创立工夫 

三七. wc

//        wc 是一个统计命令,能够统计文件里有多少行,多少单词,多少字节
            -l 统计行数  lines
        wc  -l  统计行数 

不显示文件名

//# wc -l  a.txt  (wc  -l 也能够统计文件的行数) 间接统计会显示文件名
    3 a.txt
//# cat a.txt |wc -l(cat 管道传给 wc 不会显示文件名)3
        //# cat /etc/passwd|wc -l
            27
//# cat /etc/passwd|grep "liang"
    liangluyao:x:1001:1001::/home/liangluyao:/bin/bash
    liangluyao2:x:1002:1002::/home/liangluyao2:/bin/bash
    # cat /etc/passwd|grep "root"
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin

练习

//        1. 统计出 /dev 目录下有多少字符设施文件
         ll  /dev|grep“^c”|wc  -l
        2. 统计出 /dev 目录下有多少块设施文件
         ll  /dev|grep“^b”|wc  -l
        3. 统计 /etc/ 目录下有多少文件夹和一般的文件
         ll  /dev|grep“^-”|wc  -l  文件
         ll  /dev|grep“^d”|wc  -l    文件夹
         ll  -R  /etc|grep“^-”|wc  -l    统计 /etc 和子文件夹下的所有一般文件 更彻底(蕴含子目录下)ll  -R  /etc|grep“^d”|wc  -l    统计 /etc 和子文件夹下的所有文件夹  更彻底(蕴含子目录下)4. 统计 /etc/ssh/sshd_config 文件有多少行
             cat  /etc/ssh/sshd_config  |wc  -l
//        统计文件夹里有多少文件
        ll  |  grep  wc 
//        统计文件有多少行
        cat   |  wc

三八. du

//        du  统计目录及文件的空间占用状况  disk  usage(估算值,并不是很精确)*du  -sh  统计汇总的大小(罕用)黄金组合
            -s
              -s, --summarize 汇总的大小
                      display only a total for each argument
            -h  
             -h, --human-readable
                      print sizes in human readable format (e.g., 1K 234M 2G)
            -a 统计文件和文件夹
                 -a, --all
              write counts for all files, not just directories

du -sh 与 ll -h 区别

        du  -sh  /boot
        ll  -h  /boot
//        # ll  -h  /boot  只能统计文件的大小,文件夹里的所有的文件不会汇总
        总用量 134M
        du  -sh    能够汇总
        ll  -h 就是你文件外面有多少个单词 多少个字符
        # du -sh /boot
        140M    /boot
        # ll -h  -d /boot
        dr-xr-xr-x. 6 root root 4.0K 9 月  13 14:38 /boot
//        英文字母,数字 占 1 个字节
        中文字母:utf8 编码   3 个字节
        ll  -h 统计的是一个文件里有多少字符
             统计文件外面文字的字节数
        du  统计占用多少块
            统计文件寄存在磁盘上耗费了多少个块
//        1 个块的大小就是 4096(4K)
//        touch    新建空文件
                更新工夫
//        stat  host  查看三个工夫
        最近拜访
        最近更改
        最近改变 

三九. 改为英文编码

//        改为英文编码
        # LANG=en_US.UTF8
        # ll hosts 
        -rw-r--r--. 1 root root 158 Sep 17 16:57 hosts

四十. 3 个工夫

# stat hosts 
  File: hosts
  Size: 158           Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 17162314    Links: 1
Access: (0644/-rw-r--r--)  Uid: (0/    root)   Gid: (0/    root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-09-17 16:57:57.748799777 +0800
Modify: 2020-09-17 16:57:57.748799777 +0800
Change: 2020-09-17 16:57:57.748799777 +0800
 Birth: -
    工夫:拜访工夫  access time  --》atime     关上这个文件  cat
        批改工夫  modify time  --》mtime    批改外面的内容,减少,删除内容等  vim
        更改工夫  change time  --》ctime    更改了文件的属性(名字,权限,大小,工夫,用户,组)准确到纳秒
        touch  hosts    三个工夫都更新(都改了)

四一. chmod

//        chmod 批改权限  change  mode 
            chmod  a+w  hosts
        chown 批改属主和属组  change  owner
        vim  hosts  输出:wq  批改数据
//        +0800 示意东八区  中国的上海,北京 
        乌鲁木齐  东六区
//        # cp /etc/passwd  .  将 /etc/passwd 复制到当前目录
        当初咱们敲的 cp,都是 cp  -i,cp 是别名 
        # alias
        alias c='clear'
        alias cp='cp -i'
          -i, --interactive 交互式
              prompt before overwrite (overrides a previous -n option)

四二. cp 的时候覆盖文件,不给予揭示的办法

//        cp 的时候覆盖文件,不给与揭示的办法
        1. 勾销别名  --》不举荐
            # unalias cp
        2. 应用 cp 命令的绝对路径  --》举荐 
          # which  cp
            alias cp='cp -i'
              /usr/bin/cp
            # /usr/bin/cp  feng  changsha/ -r
            # /usr/bin/cp  feng  changsha/ -r  再次复制 笼罩不给揭示 

退出移动版