Linux最基础

2023-11-17

软件包安装的时候,会经常用到   tar   -zxvf   Japan.tar.gz
如果要做LAMP环境的编译,建立一个LAMP源代码包构建的PHP生产环境。下载的包都是  tar.gz  这样的源代码包
创建目录   mkdir     创建文件    touch
命令的基本格式:
  [root@localhost ~]#
      root:       当前登陆用户
      localhost:     主机名
      ~:      当前所在目录(家目录)
      #:      超级用户的提示符
      普通用户的提示符是 $   
- 表示一个文件
d 表示一个目录
l 小写的 L,表示一个软连接。

  -rw-r--r--.    (最后还有个点)  
         .  代表ACL权限 --- 从centos6才有的权限
         - 文件类型   (-文件    -d目录    | (小写的L) 软链接文件)
               文件  -----普通文件
               目录
               软链接  --- 其实就是个快捷方式
               块设备文件
               字符设备文件
               套接字文件
               管道文件
         rw-    u所有者
         r--     g所属组
         r--     o其他人
 rm -rf  *.zip ---  删除所有以   .zip  结尾的文件

常用目录的作用:
     /              根目录
     /bin         命令保存目录(普通用户就可以读取的命令)
     /boot      启动目录,启动相关文件
     /dev        设备文件保存目录
     /etc         配置文件保存目录
     /home    普通用户的家目录
     /lib          系统库保存目录
     /mnt       系统挂载目录
     /media    挂载目录
     /root        超级用户的家目录
     /tmp        临时目录
     /sbin        命令保存目录(超级用户才能使用的目录)
     /proc        直接写入内存的
     /sys          
     /usr          系统软件资源目录
    /usr/bin/     系统命令(普通用户)
    /usr/sbin/     系统命令(超级用户)
     /var          系统相关文档内容
注意:proc 和 sys 目录不能直接操作,这俩个目录保存的是内存的挂载点。不可以给这俩个里面写数据;(重启后内存中的数据就会丢失;如果内存满了容易造成系统崩溃)
所以:可以在家目录root   或   home  ,以及tmp目录下随便放内容
2个bin目录普通用户可以执行的
2个sbin   只有超级用户可以执行。
boot  启动目录,如果写满系统将无法启动
etc     系统配置文件目录。(学习服务时候会多次用到)
home   普通用户的家目录
root      超级用户的家目录
lib        函数库的保存位置

ls 显示该目录下所有
ls -l   显示该目录下所有文件及详情
ls -lh 以人性化大小显示文件
          -a  显示所有文件,包括隐藏文件
                    ls -a
          -l   显示详细信息
                    ls -l
          -d  查看目录属性
                    ls -ld /etc/
          -h  人性化显示文件大小
                    ls -lh
          -i   显示inode   i节点
                    ls -i

二、 文件处理命令;
          1、目录处理命令(windows文件夹的概念)
               mkdir -p [目录名]
                    mkdir test1
                    mkdir -p test2/mydir  --- 其中:-p递归创建
                    
               切换目录:
                     cd  [目录名]
                     cd ~   进入当前用户的家目录
                     cd
                     cd -    进入上次目录
                     cd ..    进入上一级目录
                     cd .     进入当前目录
                删除文件或目录: rm   本来就是删文件的 ,加上  -r 就可以删目录了
                    rm -rf [文件或目录]
                    -r    删除目录
                    -f    强制
                       rm -rf /tem/      表示删除tem这个目录
                       rm -rf /tem/*     表示删除tem下的所有内容
复制命令:cp
       -r     复制目录
   cp -r japan/ /tmp/    ---- 将japan目录复制到 tmp下
       -p     连带文件属性复制
       -d     若源文件是链接文件,则复制链接属性
       -a     相当于   -pdr
       -f     强行复制文件或目录,不论目标文件或目录是否已存在。
           
剪切 或 改名命令:
     mv  如果源文件 与 目标文件在同一目录 就是改名
      如果源文件  与 目标文件没有在同一目录 ,就是剪切
        mv [源文件或目录]  [目标目录]
文件处理命令
       文件处理命令: ln
       ln  -s [源文件] [目标文件]   ---- 软连接

3、链接命令   ln
硬链接特征:
       1、拥有相同的i节点和存储的 block块,可以看作是同一个文件
       2、可以通过i节点识别
       3、不能跨分区
       4、不能针对目录使用
       
     软链接特征:(推荐用:灵活,限制少,告诉这是个软连接)
      1、类似windows快捷方式
      2、软链接拥有自己的 i  节点 和 block块,但是数据块中只保存元文件的文件名和  i 节点号,并没有实际的问津数据
      3、lrwxrwxrwx      l --表示:软链接
           软链接文件权限都为 :  rwxrwxrwx
      4、修改任意文件,另一个都改变
      5、删除源文件,软连接不可用
     
软链接的读写权限,最终归于目标文件的权限;                                                                                   
                    
  echo 111 >> /root/blos     向目标文件中写入数据
  cat /root/blos             查看目标文件中写入的数据
注意:在设置软连接的时候,只有在同一目录下不用写绝对路径,否则需要写绝对路径。不然在目标文件中的软连接会报错 。 所以: 软连接   必须要写绝对路径。如果目标文件被移动,软连接会报错,找不到目标文件
          

4、 文件搜索命令:命令which   whereis命令搜索
    1、文件搜索命令    
     locate --- 搜索速度快,搜索不到新创建的文件  (即:touch   cangls),只能搜索文件名。
          缺点: 只可以按照文件名搜索;
          locate 文件名       ----- 在后台数据库中按文件名收缩,搜索速度更快
          /var/lib/mlocate  ------locate命令所搜索的后台数据 ,默认1天一个更新
          updatedb              ---- 强制更新数据库
                   
      
  其中:whereis  和 which  都会遵守这个筛选规则
 
whereis: 只能搜索系统命令; 及帮助文档的位置
which选项:----可以查找到命令的别名;
             -b:   只查找可执行文件
             -m:只查找帮助文件
                               
which ls ---表示   ls 命令是干嘛的
which  文件名   搜索命令所在路径及别名;
                
PATH 环境变量:   定义的是系统搜索的命令的路径
            [root@localhost ~]#  echo $PATH   ---- 显示环境变量 (路径);
               
注意: 平常输入的命令都在该 path 路径下,如果重新定义的命令需要使用绝对路径,要么就放到 path 路径

文件搜索命令    
find --- 如果在根目录中使用,会遍历根下的所有数据遍历一边。 耗费资源--非常强大;
         find  [搜索范围]  [搜索条件]
         find  /  -name  install.log   ------按文件名搜索,搜索根下面,搜索install.log的文件
注意: 避免大范围搜索,会非常耗费系统资源
find  是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配。
Linux中的通配符,
   *   匹配任意内容
   ? 匹配任意一个字符
    []  匹配任意一个中括号内的字符
      
    
 find /root/ -name "ab[cd]" --- 表示搜索以abc  或  abd 的文件。是的文件,不是所有。
 find  /root/ -name "*[bc]" --- 搜索所有以  b  或   c  结尾的文件。
 find  /root  -iname   install.log  --- 不区分大消息
 find  /root  -user  root ---- 按照所有者搜索
 find  /root  -nouser ----  查找没有所有者的文件   在proc  和   sys  产生的文件可能没有所有者是正常的,内存的挂载点。第二种情况:外来文件也不会有所有者(光盘,u盘)。 除此之外在Linux中所有的文件都应该有所有者,否则就是垃圾文件
  find  /var/log/   -mtime  +10
           查找10天前修改的文件
           -10   10天内修改文件
           10    10天当前修改的文件
           +10   10天前修改的文件
         -atime  文件访问时间
         -ctime  修改文件属性
         -mtime  修改文件内容
怎么理解 10:往前数第十天,就是10, 第十天到现在的就是  -10.  第十天前的就是 +10
                                                                       
find   .  -size  25k   
注意: 这里的k必须是小写。如果不加单位k,查找的是扇区的大小  (25*512)
          -25k   小于25kb的文件     
           25k    等于25kb的文件
          +25k  大于25kb的文件
  如果查找  兆 大小的文件   M     M必须是大写。
           find   .  -size  25M  
           find  .  -inum   262422    --- 查找 i  节点是  262422 的文件
            
            find  /etc -size  +20k  -a  -size -50k ---查找etc目录下  文件大小   大于 20k  并且 小于  50k 的文件。
       -a   and   逻辑与,俩个条件都满足
       -o   or      逻辑或,俩个条件满足一个即可。
       -type: 根据文件类型查找;
             f文件   d目录    l软连接文件
       -inum :根据i节点查找
这样使用find查找到的文件,只显示文件,并不显示文件的详细信息。所以需要下面   组合 命令:
     [root@localhost ~]#   find  /etc  -size  +20k  -a   -size  -50k   -exec  ls  -lh  {}\;
            查找 etc 目录下,大于20k,并且小于 50k的文件,并且显示详细信息。
      - exec/-ok  命令2  {}\;  对搜索结果执行操作-------也就是前面的命令结果   交由 -exec中  命令2 处理。
切记: 如果有  -exec  后面必须有   {}\;  ( 命令2的条件必须是能处理前面的命令才可以放在这里执行。)
 
du命令:
     用于统计指定目录(或文件所占用磁盘空间的大小)
常用选项:
     -a     统计磁盘空间占用时包括所有的文件,不仅仅统计目录
     -s     只统计所占用空间总的大小(Summary),而不是统计每个子目录、文件的大小。
     -h     以人性化方式显示(默认kb,不显示单位),显示统计结果
du   -sh    /var/log  --- 统计log目录下所有文件总共占用的空间大小。

3、 字符串收缩命令  grep--- 常用命令。在制定的文件内容中查找指定的行,显示。
       
grep  -v  "sd" anaconda-ks.cfg      
        -v  取反,显示不包含sd的字符串;    
        -i   不区分大小写
 
去掉以#开头的行;排除指定字符串所在的行。

  4、find命令 与  grep 命令的区别
                          find命令: 在系统当中搜索符合条件的  文件名;
                         grep命令: 在  文件  当中搜索符合条件的  字符串;
man 的级别
   1 : 查看命令的帮助
   2 : 查看可被内核调用的函数的帮助
   3 : 查看函数和函数库的邦族
   4 : 查看特殊文件的帮助(主要是/dev 目录下的文件)
   5 : 查看配置文件的帮助
   6 : 查看游戏的帮助
   7 : 查看其他杂项的帮助
   8 : 查看系统管理员可用命令的帮助
   9 : 查看和内核相关文件的帮助
 
  如下图: 其实可以通过whereis passwd 可以查看到 passwd 命令的等级,以及文件的位置
查看命令拥有哪个级别的帮助
    man  -f  命令    相当于     whatis  命令  
举例:调用相应的帮助文档
        man  -5  passwd
        man  -4  null
        man  -8  ifconfig
注意: 如果一个命令有多个等级,必须制定 等级,否则打开的是最低的那个等级
查看和命令相关的所有帮助:man
      man  -k  命令    相当于    apropos  命令
      例如:  apropos  查找的是所有包含  的帮助;模糊查找所有包含的  帮助
                         apropos   passwd
     man查看配置文件帮助时: man    配置文件名
命令   --help: 查找命令选项帮助,有中文注释;
shell  内部命令帮助:
       help  查看shell内部命令的帮助
例如:
     whereis   cd   --- 去顶是否是shell内部命令
     help  cd    --- 转门获取内部命令帮助
man 获取命令的帮助 而 :help 获取内部命令的帮助  如:cd就是内部命令。
whereis  命令  -----  如果找不到执行命令的位置就是内部命令;
               
更多的使用man 最主流的帮助文档   info 了解知道就行    
   如: man      ls          --help
 详细命令帮助info    
    info   命令
    -  回车  : 进入子帮助页面(带有*号标记)
    -  u        :  进入上层页面
    -  n        :  进入下一个帮助小节
    -  p        :  进入上一个帮助小节
    -  q        :  退出
whatis  ls:查看命令简短的信息。
查看配置文件的简短信息:
格式:apropos   配置文件
     例如: apropos  services

多文件内容查看:
    查看文件所有的内容:
less   :  如:less   /etc/services
备注:n: 下一页  N:上一页  page up :上一页   上箭头:上一行     搜索关键字:/service(在其打开直接输入)
查看文件前几行:
          head:显示文件前几行。如:head  -     11  /etc/services  --显示前11行 
查看文件后几行:
        tail  -3  /etc/services  --- 查看最后3行。
        tail  -f   /etc/services  --- 动态显示文件末尾内容
注意:head 和 tail 如果不指定 -n  的话,默认都是显示10行
5、 压缩文件的命令:
最常用的5种,在Linux中还有其他格式。
     常用压缩格式:  .zip    .gz    .bz2
     常用压缩格式:  .tar.gz     .tar.bz2
这种格式.zip   跟windows中的zip是通用的。
.zip格式   window中的.zip与  Linux中的 .zip是可以互相通用的
         zip  压缩文件名   源文件 ----- 压缩文件
        zip   -r  压缩文件名   源目录 --- 压缩目录
.zip 格式解压缩
     unzip 压缩文件    ---- 解压缩.zip文件
                    
gz格式压缩
     gzip  源文件  ----- 压缩为 .zg 格式的压缩文件,源文件会消失
     gzip  -c  源文件  >  压缩文件   ----- 压缩为 .gz 格式,源文件保留
例如: gzip  -c  cangls  >  cangls.gz
>   --- 表示:把命令的结果写入指定文件
     
gzip  -r  目录  ----- 压缩目录下所有的子文件,但是不能压缩目录
     
  这里会压缩内部的所有的文件,包括该目录下的   子文件夹下的文件。(不能打包当前的目录)      
                      
.gz格式 解压缩   如果解压缩的是  目录    在 gzip  或   gunzip 后 加   -r  即可。
[root@localhost ~]# gzip  -d  压缩文件    ---- 解压缩文件  压缩包不会保留
[root@local host ~]# gunzip  压缩文件      ---- 解压缩文件     
    
.bz2 格式压缩 
[root@localhost ~]#  bzip2  源文件    -----  压缩为  .bz2  格式,不保留源文件
[root@localhost ~]#  bzip2  -k  源文件   ---  压缩之后保留源文件
注意: bzip2  命令不能压缩目录。
         
.bz2格式解压缩
[root@localhsot ~]#  bzip2   -d   压缩文件  --- 解压缩,  -k   保留压缩文件
[root@localhost ~]#  bunzip2   压缩文件   ---- 解压缩,  -k    保留压缩文件
注意:因为其压缩比比较惊人,所以,bzip2经常使用在压缩大文件时,使用。
总结: .zip    .gz    .bz2
   .zip   压缩目录,压缩文件没有问题。
   .gz    可以压缩文件;如果压缩目录的话(需要加-r),会压缩其内部   所有的   子文件。不能压缩目录
   .bz2   如果压缩目录会直接报错。
                         
3、常用命令   .tar.gz     .tar.bz2   ----打包   打包后可使用上面3中压缩格式压缩
打包命令   tar:
    tar   -cvf   打包文件名    源文件
         选项:-c:打包
               -v:显示过程
               -f:指定打包后的文件名
               -x:解开 .tar 格式的包文件
         例如: tar  -cvf   longls.tar    longls
解打包命令:
    tar   -xvf   打包文件名
                选项 : -x: 解打包
                例如: tar  -xvf  long.tar
常用选项:
     -p:打包时保留原始文件及目录的权限
     -t:列表查看包内的文件
     -C:解包时指定释放的目标文件夹
     -z:调用 gzip 程序进行压缩或解压
     -j:调用 bzip2 程序进行压缩或解压
 .tar.gz压缩格式:
         其实   .tar.gz   格式是先打包为.tar格式,再压缩为  .gz  格式
  tar  -zcvf   压缩包名.tar.gz   源文件   ----- 进行压缩
          选项:   -z:   压缩为  .tar.gz  格式
          
  tar  -zxvf   压缩包名.tar.gz      ---- 进行解压缩
         选项:  -x:   解压缩.tar.gz 格式
          
多文件压缩:
          
  解压缩:
           
查看压缩的内容:( 只查看,不解压
 
常用:
    .tar.bz2 压缩格式:
        tar  -jcvf  压缩包名.tar.bz2   源文件
             选项: -z : 压缩为  .tar.bz2  格式
        tar  -jxvf  压缩包名.tar.bz2
             选项: -x:  解压缩 .tar.bz2  格式
压缩为: .tar.bz2  并解压到指定目录
 
注意: windows当中的  .rar  格式是没办法在Linux中解压缩的。
压缩格式以及解压缩格式必须要掌握的压缩方式:
打包时,忽略指定的文件:

4、关机和重启命令   
     ctrl + c 终止命令
       shutdown命令
          [root@localhost ~]# shutdown  [选项]  时间                        
选项:  -c: 取消前一个关机命令    例如: [root@localhost ~]# shutdown -c
            h: 关机
           -r:  重启        例如:[root@localhsot ~]# shutdown  -r  now
  将关机命令放入后台执行: [root@localhost ~]# shutdown -r   05:30  &    ---加一个  &(代表后台运行)  符号
  
其他关机命令:---   知道就好
            [root@localhost ~]# halt
            [root@localhost ~]# poweroff    --- 相当于直接断电
            [root@localhost ~]# init 0
      注意: 这3中命令都不安全,不会在关机的时候保存数据
其他重启命令:
         [root@localhost ~]# reboot    --- 相对安全;
         [root@localhost ~]# init 6    --- 尽量不要用
     备注: 上述出现的   init  0   init 6  :其中的数据  0   和 6 :称做系统运行级别:
系统运行级别:
            0     关机
            1     单用户   --- 相当于windows当中的安全模式,做系统修复,如忘记密码
            2     不安全多用户,不含NFS服务 --- NFS是Linux当中一个文件共享服务。
            3     安全多用户   --- 其实就是默认的界面。包含NFS服务。
            4     未分配
            5     图形界面  --- 前提是必须有图形界面才可以启动。如果安装了,则可以进入图形界面。
            6     重启
查询当前系统运行的级别:
      [root@localhost ~]# runlevel;
                      
表示: 在进入3级别界面前,是N N表示null 也就是空字符界面。
如果同时安装了  图形界面   默认启动,进入的是  字符界面,还是  图形界面;( 这个可以设置
[root@localhost ~]# cat  /etc/inittab    --- 修改系统默认运行级别---下面是显示的内容
                              id:3initdefault:
退出登陆命令:
     [root@localhost ~]# logout    ---- 就会释放远程登陆的终端号 。                                        

5、查询与自动挂载
       [root@localhost ~]# mount    --- 查询系统中已经挂载的设备                      
        [root@localhost ~]# mount -a   ---  依据配置文件   /etc/fstab  的内容,自动挂在                           
注意: 像,U盘,光盘,不推荐自动挂载,因为每次linux启动的时候都会去检查,如果有一次检查不到系统将crash
                   

mount 挂载命令格式
        [root@localhost ~]# mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点  -- -挂载点为空白目录
         -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统:iso9660为光盘类型(硬记),
         -o 特殊选项:可以指定挂载的额外选项
示例:mount -o remount,noexec /home/    挂载选项无法访问,没有权限
  特殊选项列表:
               atime / noatime   更新访问时间/不更新访问的时间,访问分区文件时,是否更新新文件的访问时间,默认为更新
               async / sync      异步/同步,默认为异步
               auto / noauto     自动/手动,mount -a 命令执行时,是否会自动安装  /etc/fstab 文件内容挂载,默认为自动
               defaults          定义默认值,相当于 rw, suid , dev , exec , auto , nouser , async 这七个选项
               exec / noexec     执行/不执行 ,设定是否允许系统中执行可执行文件,默认 exec 允许
               remount           重新挂载已经挂载的文件系统,一般用于指定 修改特殊权限。
               rw / ro           读写/只读,文件系统挂载时,是否具有读写权限,默认 rw
               suid / nosuid     具有/不具有SUID权限, 设定文件系统是否具有SUID和SGID的权限,默认是具有
               user / nouser     允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂在分区。
               usrquota          写入代表文件系统支持用户磁盘配额,默认不支持。
               grpquota          写入代表文件系统支持组磁盘配额,默认不支持。

6、Linux中  进入编写脚本文件
      [root@localhost home]# vi hello.sh
       [root@localhost ~]#  chmod  755  hello.sh ---  赋予 hello.sh  执行权限
                             
如果是纯linux脚本可以不写,但是有嵌套的时候必须写
          

7、 光盘挂载:
          
[root@localhost ~]# mkdir /mnt/cdrom/    --- 建立挂载点
[root@localhsot ~]# mount -t iso9660 /dev/sr0 /mnt/cdrom   ---挂载光盘
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom   ---可以省略  -t iso9660 系统已知道

10、卸载命令 ----- 不可省略,用完之后,必须先卸载。
[root@localhost ~]# umount 设备文件或挂载点
[root@localhsot ~]# umount /mnt/cdrom
  注意: 挂载光盘或其他盘,一定要卸载。否则弹不出来,如果强制,导致再读取时,数据不正确

11、 挂载U盘     fdisk   分区命令
[root@localhost ~]# fdisk -l ---------查看U盘设备文件名( 查看系统当中已经识别的硬盘
      U盘对应的是多少,会在该命令执行后---对应显示出来。一般是  sdb1
 [root@localhost ~]# mount  -t  vfat   /dev/sdb1  /mnt/usb/   -----挂载
  注意: Linux默认是不支持NTFS文件系统的。---也就是  移动硬盘  是不能在Linux中直接挂载的。
  2种解决Linux支持NTFS文件的方案:
     a、 重新编译Linux内核,但是种方法在工作中是不需要的;
     b、 安装  ntfs-3g 的软件。会让Linux默认支持NTFS         
 但是:即使支持了NTFS,也只是只读模式,并不能写入数据   Linux默认的就是只读
  如果用到windows当中的数据都是通过网络传输。

12、 用户信息命令
      1、w          查询当前登陆的用户;
      2、who     只显示当前登陆的用户信息。
      3、查询当前登陆和过去登陆的用户信息-----所有用户登陆的信息。 重要
             last   其实访问的是:ls  /var/log/wtmp   ---wtmp是个:二进制文件,
             可以检查是否有异常用户存在。
      4、lastlog   查看所有用户的最后一次登陆时间  ,默认读取的是   /var/log/lastlog 文件内容
              
其中: tty1 表示登陆的终端-----本机终端。虚拟机   本机登陆没有IP
          pts/0   表示第一个远程终端
          -bash  ---- 等待操作
      logout:注销当前用户。

  Shell基础: 命令解释器,也就是当前操作的界面。                       
 查看当前的  shell  [root@localhost ~]# echo  $SHELL
分类:     
        1、Bourne Shell:从1979其Unix就开始使用Bourne  Shell,Bourne Shell 的主文件名为   sh. 不支持上下箭头翻看。
       2、当前的Shell ,C  Shell :C  Shell  主要在BSD 版的 Unix 系统中使用,其语法和 C 语言相类似  而得名
1、 查看当前支持的Shell :
       
 
      
   界面输出及设置颜色: 开启颜色设置 \e[1;31m   结束颜色:\e[0m
                
          查看调用系统的一些特殊文件:
                    [root@localhost ~]# vim /etc/passwd

  2、 脚本执行方式:
         1、echo 输出命令  --- 如果输出的内容有空格,必须加双引号,其中不可以有 感叹号。感叹号有特殊含义。
               echo  [选项] [输出内容]
                选项:  -e:支持反斜线控制的字符转换。
               \a       输出警告音
               \b       退格键,也就是向左删除键
               \n       换行符
               \r       回车符
               \t       制表符,也就是tab 键
               \v       垂直制表符。
               \0nnn    按照八进制ASCII 码表输出字符。其中0位数字零,nnn 是三位八进制数
               \xhh     按照十六进制ASCII码表输出字符,其中hh是俩位十六进制数
                     

 
   2、第一个脚本
        [root@localhost sh]# vi hello.sh
              #!/bin/bash   这一句必须有
              # the first program     其中#表示注释,但是第一句必须的有。
               echo -e "\e[1;34m 这是输出语句 \d[0m"
  2-1、脚本运行
    赋予执行权限,直接运行。 chmod  755  hello.sh   
./hello.sh    --- 或  绝对路径  执行。
    通过Bash调用执行脚本  bash  hello.sh
chmod 755 hello.sh  ---- 赋予脚本执行权限
      
     
    [root@localhost zk]# vi hello.sh
     
3、Bash的基本功能---别名、快捷键
         1、命令别名 与 快捷键
              1、设定
              2、查看
                 alias   ---- 查看系统中所有的命令别名
                     alias   别名=‘元命令’   --- 设定命令别名,这样设置重启计算机就会失效。
                 2-1、别名永久性生效
                  vi  ~/.bashrc   ---写入环境变量配置文件
                     vi  /root/.bashrc   ---打开后将需要的别名写入,保存即可;并不会立即生效 
                     不会立即生效: 可执行:source   .bashrc 即可立即生效。
              3、删除 ---- 只是临时删除,除非在  .bashrc 配置文件中修改。
                 unalias  别名
   命令生效顺序:
      1、第一顺位执行用绝对路径或相对路径执行的命令。
      2、第二顺位执行别名。
      3、第三顺位执行Bash的内部命令;
      4、第四顺位执行按照 $PATH 环境变量定义的目录查找顺序找到的第一个命令
常用快捷键:
    ctrl + c     强制终止当前命令
    ctrl + l     清屏
    ctrl + a     光标移动到命令行首
    ctrl + e     光标移动到命令行尾
    ctrl + u     从光标所在位置删除到行首
    ctrl + z     把命令放入后台
    ctrl + r     在历史命令中搜索
           

2、历史命令 ---- 指把用户操作过的命令保存到系统当中,当需要的时候可重新调用
  history  [选项]   [历史命令保存文件]
选项:  -c : 清空历史命令。
           -w:把缓存中的历史命令写入历史命令保存文件  ~/.bash_history  
查看历史记录文件   [root@localhost ~]# cat   .bash_histroy
  注意: 。bash_histroy中保存的命令只有在用户正常推出后才会存入。logout 命令。如果需要强制写入  :[root@localhost ~]#  history  -w    (包括当前的 history  -w 命令
历史命令默认会保存 1000 条,可以在环境变量配置文件  /etc/profile 中进行修改。
历史命令的调用:
    常用   1、使用上、下箭头调用以前的历史命令
          2、使用  “!n” 重复执行第n条历史命令  --- n是 history对应的号   例如:[root@localhost ~]# !2  执行历史第二条命令     
          3、使用 “!!” 重复执行上一条命令  --- 例如:[root@localhost ~]# !! 执行上一次命令
          常用  4、使用  “!字符串” 重复执行最后一条以该字符串开头的命令    --- 例如: [root@localhost ~]# !ls 最后一次ls命令
   

3、输出重定向-----常用的还是输出重定向,输入重定向了解就好。
      标准输入输出:
键盘          /dev/stdin          0           标准输入
 显示器       /dev/sdtout        1          标准输出
显示器       /dev/sdterr         2          标准错误输出
 其中:dev  是继 Linux保存硬件特殊文件的标准目录,键盘就是这个文件下的。
1正确,2错误
               类型                         符号                              作用
标准输出重定向                         命令 >  文件                以覆盖的方式,把命令的正确输出,输出到指定的文件或设备当中。
                                      命令 >> 文件                以追加的方式,把命令的正确输出,输出到指定的文件或设备当中。
标准错误输出重定向                     错误命令  2>  文件          以覆盖的方式,把命令的错误输出,输出到指定的文件或设备当中
                                      错误命令  2>>  文件         以追加的方式,把命令的错误输出,输出到指定的文件或设备当中。
标准输出  命令 >  文件  >与文件之间有空格。而 错误命令  2>文件   >与文件之间   没有空格。 
          
正确输出和错误输出同时保存     
     命令 >  文件  2>&1     以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中
    
     命令  >>  文件  2>&1   以追加的方式,把正确输出和错误输出都保存到同一个文件当中。
    
     命令  &>文件           以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中。
    
     命令  &>>文件          以追加的方式,把正确输出和错误输出都保存到同一个文件当中。
    
     命令>>文件1  2>>文件2  把正确的输出追加到文件1中,把错误的输出追加到文件2中。 
     2,4,5最常用。
                                           

  输入重定向:  直接在界面 输入----wc  随意输入   最后按 ctrl+d 统计   行   单词   字符
      [root@localhost ~]# wc  [选项]  [文件名]
选项:  -c: 统计字节数
        -w: 统计单词书
        -l  : L  统计行数
          注意:一般用不到输入重定向, 会在软件安装打补丁的时候会用到输入重定向,但一般不会用到。
[ root@localhost ~]# wc  < access.log   --- 会统计处这个sccess.log中  有几行,几个单词,几个字符。
这种用到的很少,了解就好。

多命令顺序执行
     1、管道符:
多命令执行符       格式           作用
; 分号          命令1;命令2    多个命令顺序执行,命令之间没有任何逻辑联系
&&              命令1&&命令2  逻辑与  当命令1正确执行,则命令2才会执行    当命令1执行不正确,则命令2不会执行
||            命令1|| 命令2    逻辑或  当命令1执行不正确,命令2才会执行     当命令1正确执行,则命令2不会执行
表示 :先查询当前链接到的数量,然后查询正在链接的,之后统计正在链接的行数。
例子:
[root@localhost ~]# ll  -a  /etc/  |  more ----先查询etc目录下的内容,然后分屏幕显示
[root@localhost ~]# netstat  -an  |  grep   ESTABLISHED   ---- 先查询当前的链接状态,然后显示正在链接的 

     5、Shell中特殊符号
  通配符:文件名 或  目录名称   如果是内容:需要用正则表达式
?   匹配一个任意字符   ---常用
*    匹配0个或任意多个任意字符,也就是可以匹配任何内容   --- 常用 
[]    匹配中括号中任意一个字符。例如:[abc] 代表一定匹配一个字符,或者是a,或则是b,或则是c。- --- 常用
                                                                                                   
[-]  匹配中括号中任意一个字符,- 代表一个范围。例如:[a-z]  代表匹配一个小写字符。
[^]  逻辑非,表示匹配不是中括号内的一个字符。例如: [^0-9] 代表匹配一个不是数字的字符。
Bash中其他特殊符号:
     ''     单引号。在单引号中所有的特殊符号,如”$“  和 ”`“  (反引号 引文状态下 1)都没有特殊含义---
     ""     双引号。在双引号中特殊符号都没有特殊意义,但是 "$"、 "`"、 和"\" 是例外,拥有"调用变量的值"、"引用命令"  和  "转义符"的特殊含义
     ``    反引号。反引号括起来的内容是系统命令,在Bash中会执行它。它和   $()  作用一样。不过推荐使用  $()  ,因为反引号非常容易看错   --- 反引号是用来包含系统命令的。先执行命令,再把值赋给变量。
     $()   和反引号作用一样,用来引用系统命令。
     #    在shell脚本红,#开头的行代表注释。
     $     在调用变量的值,如需要调用变量name的值时,需要用 $name  的方式得到变量的值。
     \     转义符,跟在 \ 之后的特殊符号将失去特殊含义,变为普通字符。  如  \$  将输出  "$"符号。而不当做是变量引用。
     

权限管理命令:chmod
      语法:chmod  [{ugoa}{+-=}{rwx}]   [文件或目录] 
                            [mode=421]  [文件或目录]
                            -R  递归修改
功能:修改文件或目录的权限
其中=号的用法
权限的数字:
               例如
-R:
表示:当修改这个目录的权限的时候,这个目录中所有的子文件都将会改成同样的权限

总结:
          一个File :  r:意味着:如果要查看一个文件的内容,必须要对这个文件有r权限。才可以执行这样的命令:cat   more  head   tail  less  才可以看这个文件内的内容。
                         w: 意味着:可以修改这个文件。可以执行命令:  vim
                         x:意味着:可以执行这个文件,可执行的文件必须是:script(脚本)、command(命令)
删除一个文件的前提是:用户必须对当前文件所在目录有w的权限,才可以删除这个文件
          一个目录:directory,rwx对目录的含义是不一样的。
                          r:目录意味着:可以列出目录中的内容。可以执行的命令:ls
                          w:目录意味着: 可以做 创建/删除文件。可以执行的命令:touch/ mkdir/ rmdir/  rm 
                          x:目录意味着:可以进入这个目录。可执行的命令:cd
在Linux里面目录的rx是同时存在的。不可能只查看目录中的东西,而进不去。或则只能进入,而不能查看里面的东西。 所以:有r权限,肯定有x权限。
重点:w权限,可以在目录中创建,删除文件。

添加普通用户:
          
用户管理命令:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux最基础 的相关文章

  • Linux中显示文件系统的磁盘使用情况及统计df和du命令的基本用法

    df disk free 功能 查看磁盘的整体使用情况 包括总的磁盘空间大小 使用了多少磁盘空间 还剩多少磁盘空间可以使用 用法 df 格式显示参数 需要统计的目录 df不加任何参数 默认显示所有目录的磁盘使用情况 以KB为单位 eg df
  • Linux LVM(逻辑卷管理器)

    目录 一 LVM 1 1 安装lvm工具 1 2 创建逻辑卷 1 2 1 环境准备 1 2 2 创建pv Physical volume物理卷 1 2 3 创建VG Volume group 卷组 1 2 4 创建LV Logical vo
  • 『无欲则无求』Linux软件包管理 — 41、rpm软件包查询

    文章目录 1 查询软件包是否安装 2 查询系统中的所有安装软件包 3 查询软件包的详细信息 4 查询软件包中的文件列表 5 查询系统文件属于哪个RPM包 6 查询软件包所依赖的软件包 之前我们说的rpm软件包的安装和卸载 都可以使用yum命
  • nmtui 和 nmcli 命令 配置网络

    目录 一 nmtui命令 修改静态IP地址 二 nmcli命令 基于命令行配置网卡参数 三 绑定两块网卡 1 创建出一个bond网卡 2 向bond0设备添加从属网卡 3 配置bond0设备的网络信息 4 启动和测试 一 nmtui命令 修
  • 网络通讯中的checksum算法

    网络通讯中的checksum算法 一 实验目的和任务 本实验要求复习Debian系统抓包工具的使用 本实验要求理解checksum算法原理和实现方法 二 实验设备介绍 1 软件需求 win7操作系统 VMware workstation u
  • 【Linux基础】在Linux云服务器中添加一个具有管理员权限的用户

    现在我们购买了一台云服务器 一台云服务器会有一个IP地址和一个初始密码 我们使用用户名root 以及初始密码就可以登陆到云服务器 但是在云服务器上操作不能一直用root 所以我们打算新建一个用户 新建一个用户的Linux指令是 userad
  • fdisk 命令实现磁盘分区详细教程

    目录 分区步骤 1 添加新的磁盘 2 查看新的磁盘 3 使用fdisk命令分区 4 重新读取分区表信息 5 格式化分区 6 建立挂载点并挂载 总结 fdisk命令来自于英文词组 Partition table manipulator for
  • Linux01 一 Shell与命令执行

    Shell 是在操作系统内核的基础上编写的程序 也是一种脚本语言 Shell 为用户提供了操作界面 让用户高效安全地访问 Linux 内核 执行命令 command options parameter1 parameter2 command
  • Proxy(代理)服务器

    代理服务器 代理服务器必须有DNS地址 如果开启转发需要在客户端设置DNS地址 NAT 是直接与目标服务器通信的 也就是直接访问的baidu服务器 目标地址是baidu服务器的地址 所以必须要有DNS来解析主机名 如果是通过代理客户端是没有
  • 七、Linux中的进程管理

    七 Linux中的进程管理 7 1 进程和线程定义 程序是静态的代码文件 进程 进程是指程序运行时的形态 是程序的一个副本 进程是有生命周期的 准备期 运行期 终止期 线程 当程序是多任务的 cpu是多核心 多任务同时被每个核心处理 每个核
  • 海德拉 暴力破解ssh密码

    上一篇博客写到怎么有效地防护ssh密码遭到暴力破解 今天给大家介绍下如何暴力破解ssh密码 作为一名云计算工程师 懂得如何防护比如何攻击更重要 hydra是世界顶级密码破解工具 支持几乎所有协议的在线密码破解 密码能否被破解取决于密码字典是
  • centos7搭建pptp

    1 检查是否支持 终端输入 modprobe ppp compress 18 echo yes 返回 yes 表示支持 pptp 2 安装组件 yum install epel release y yum install ppp iptab
  • 一、Linux命令行使用技巧

    一 Linux命令行使用技巧 1 新建笔记本 命令 lt gedit gt lt 空格 gt lt 文件名 gt 2 什么是Linux 操作系统 内核 kernel 相当于人的大脑 3 计算机五大组件 计算器 寄存器 控制器 输入设备 输出
  • Linux下more命令高级用法

    我们在 Linux 环境下工作时 每天肯定会跟各种各样的文本文件打交道 这些文件 有时候会非常长 无法在一屏的空间内显示完全 所以 在查看这种文件时 我们需要分页显示 这时 我们就可以使用 more 命令 more 命令基本用法 more
  • Linux 搭建Web虚拟机(Apache httpd),单台机搭建多web站点

    一 基础知识 虚拟web主机 指的是在同一台服务器中运行多个web站点 其中的每一个站点实际上并不独自占用整个服务器 可以充分利用服务器的硬件资源 从而大大减低网站构建及运行成本 使用httpd可以非常方便地构建虚拟机主机服务器 只需要运行
  • 在Ubuntu上基于wayland/weston源码构建weston桌面

    Ubuntu构建weston桌面 简介 下载工具 库 安装ninja 设置环境变量 构建wayland 构建wayland protocols 构建weston 运行weston weston的一些测试程序 简介 wayland官网 htt
  • 五、Linux系统中的用户管理

    五 Linux系统中的用户管理 5 1 用户及用户组存在的意义 5 1 1 用户存在的意义 系统资源是有限的 如何合理分配系统资源 在这个问题解决时必须要有连个资源配合 1 身份 account 2 授权author 3 认证auth 3A
  • 二、文件管理命令

    2 文件管理命令 2 1文件管理 2 1 1touch新建文件指令 touch 当文件不存在时命令为新建文件 当文件存在时命令为修改文件时间戳 touch file1 file2 新建多个文件 touch t 11111111 11 修改文
  • timeout in locking authority file in /home/**/.Xauthority,

    进入终端后使用startx命令 看是否有错误提示 我的当时是 timeout in locking authority file in home Xauthority 解决办法是将 Xauthority删掉 在检查用户目录权限 确定为775
  • Linux基础之SQLite数据库

    嵌入式数据库篇 一 SQLite数据库 二 SQLite数据库安装 三 SQLite的命令用法 四 打开 创建数据库的C接口 五 C代码执行sql语句 六 C代码建表和插入数据 七 总结 一 SQLite数据库 1 简介 轻量化 易用的嵌入

随机推荐

  • python实现抢劵_手把手教你用python抢京东大额神券

    一 背景介绍 我们经常能看到京东上有满200减100之类的大额神券 但是当自己激动的等在电脑旁 手拿鼠标 眼盯屏幕 等着倒计时慢慢临近 期待抢到自己喜爱的优惠券 然而最终得到的往往是 券已抢完 为了弥补手速的缺憾 今天我教大家如何用pyth
  • CentOS 8: yum 设置为阿里源

    1 将源文件备份 cd etc yum repos d mkdir backup mv repo backup 2 下载阿里源文件 curl o etc yum repos d CentOS Base repo http mirrors a
  • [Qt学习笔记]Qt动态切换控件样式属性方法

    目录 1 介绍 2 实现过程 3 效果展示 1 介绍 在编程过程中我们一般使用setStyleSheet 函数来设置控件的样式属性 包括颜色 边框 透明度等属性 如果不同的控件和样式直接在代码中设置 会造成无法统一管理的缺点 反复书写样式属
  • C语言怎么用char输出多个字母,c语言输入一个字符串怎么间隔输出

    Q1 c语言中 如何利用指针对字符串每隔几个输出一个 隔三个 输出一个 也就是每四个输出一个 char s abcdefgh char p s int i 0 for p s p p i if i 4 0 putchar p Q2 c语言
  • 等额本息贷款每月还款金额推导过程

    假设贷款总额是A 而每月利息是b 总共360期 目标是计算每个月应该给银多少钱 推导过程如下 设每个月还银行的本金为 m n 1 n
  • Pattern.compile的flag参数

    Pattern compile函数 Pattern Pattern compile String regex int flag regex为正则表达式 flag的取值范围如下 Pattern CANON EQ 当且仅当两个字符的 正规分解
  • (总结许多容易犯的错误)Ubuntu14.04+cuda8.0+gtx1080+cudnn5.1配置教程

    需要注意 不能按照网上大多数cuda8 0 gtx1080的方法来做 因为他们这些方法都忽略了一个重要的问题 NVIDIA官方的版本更新会影响兼容性导致Ubuntu系统无法进入登录界面 例如 cuda 8 0 27 linux版本对应NVI
  • 数组解构赋值与扩展运算符...

    解构 let a b c 1 3 5 扩展运算符
  • 「从0到1搭建自己的UI组件库」-- button组件

    写在前面 我是 沸羊羊 昵称来自于姓名的缩写 fyy 之前呕心沥血经营的博客因手残意外注销 现经营此账号 本人是个小菜 正向着全栈工程师的方向努力着 文章可能并不高产 也很基础 但每写一篇都在用心总结 请大佬勿喷 如果您对编程有兴趣 请关注
  • vue3封装简易的vue-echarts

    项目场景 数据可视化开发 采用的技术栈是vue3 echarts router 问题描述 在vue2中 才开始开发数据可视化大屏 都是用echarts 之后改用为vue echarts组件 但是到了vue3之后 组件会有一些小问题 所以准备
  • 如何强制解锁或删除被占用的文件或文件夹 - ForceDelete绿色强制文件删除工具

    你可能时常遇到无法删除Windows上的文件和文件夹的情况 并且会收到 无法删除文件 访问被拒绝 或 该文件已被其他程序打开 诸如此类的错误消息 这意味着这些文件和文件夹在Windows中被锁定 无法以常规方式删除 你可以试试ForceDe
  • 计算机如何根据人脸估计年龄,人脸图像算法研究(1)

    今天给大家带来一篇 人脸识别中的年龄估计技术 年龄特征作为人类的一种重要生物特征 计算机要如何基于人脸图像估计年龄呢 概述 简单地说 基于人脸图像的年龄估计是指机器根据面部图像推测出人的大概年龄或所属的年龄范围 年龄段 基于人脸图像的年龄估
  • 4.4.5 密码验证(2)

    4 当且仅当含数字和字母的密码验证 如果密码当且仅当包含数字和字母 那么该密码的强度是中等强度 当然 它的安全性一般 以下正则表达式能够验证当且仅当包含数字和字母的密码 da zA Z d a zA Z da zA Z 74 正则表达式 7
  • C++ 的四种类型转换

    背景 C语言中强制类型转换可以随意转换我们想要的类型 格式如下 类型 变量名 那么为什么C 还要引入新的4种类型转换呢 1 新的类型转换控制符可以很好的控制类型转换的过程 允许控制各种类型不同的转换 2 C 的类型转换控制服能告诉程序员或读
  • 【毕业设计】Python_学生校园消费行为

    资源下载 https download csdn net download wouderw 87357462 1 分析学校校园消费行为的目的 分析学生的消费行为和食堂的运营状况 为食堂运营提供建议 构建学生消费细分模型 为学校判定学生的经济
  • VT是什么?怎么打开教程

    装过虚拟机的朋友都知道 要想虚拟出cpu 就必须电脑打开VT VT指的是CPU的虚拟化技术 有了它就可以单CPU模拟多CPU并行 这样才可以虚拟出电脑出来 而如果你的bios没有打开VT的话 是不能创建虚拟机的 下面就教大家怎么打开VT 1
  • 华为员工自曝,工作四年,每天都哭想裸辞!

    架构师大咖 架构师大咖 打造有价值的架构师交流平台 分享架构师干货 教程 课程 资讯 架构师大咖 每日推送 公众号 该公众号已被封禁 进入华为是一项令人向往的机会 但它并不适合每个人 许多人都希望能够进入这家公司 但实际上 它要求员工具备卓
  • 加权回归估计_比率估计与回归估计

    本章讨论简单随机抽样和分层随机抽样下比率估计和回归估 计的构造及性质 要求 掌握总体比率 比率估计量及回归估计量的概念 了解比率估计量 回归估计量的偏倚 方差及方差的估计量 掌握应用比率估计量及回归估计量的条件 抽样调查从本质上看是利用不完
  • 蓝桥杯:拉马车

    目录 题目描述 输入描述 输入为 2 行 2 个串 分别表示 A B 双方初始手里的牌序列 我们约定 输入的串的长度不超过 30 输入输出样例 输入 输出 题目分析 列表 递归 AC代码 Java 题目描述 小的时候 你玩过纸牌游戏吗 有一
  • Linux最基础

    软件包安装的时候 会经常用到 tar zxvf Japan tar gz 如果要做LAMP环境的编译 建立一个LAMP源代码包构建的PHP生产环境 下载的包都是 tar gz 这样的源代码包 创建目录 mkdir 创建文件 touch 命令