linux ~之一

什么是linux?

        linux它是一种系统,只不过它自由以及源码开放。

为什么要使用llinux系统呢?

        总结了这么几点,安全,效率,可定制,免费等等。

都应用在哪些领域?

        IT服务器、嵌入式、桌面应用等等

都有那些人在用?

        教育、企业、科研、医疗、军事等等

了解linux

        在llinux界有一句恒古不变的话“一切皆文件”就是把几乎所有资源,包括硬件设备都组织为文件格式


  • 认识基础命令:

     

基础命令
查看显示类参数
cat-E:显示行的结束符$    -n:对行进行编号     cat /etc/shell    //查看系统安装的shell    
tac倒着查看文件
rev倒着显示    例如aaaabbbb.123.456   执行后456.123.aaaabbbb
file查看文件的类型
type查看命令的类型
enable查看所有以启动的内部命令    -n:查看禁止的内部命令    -a:查看所有内部命令
hash显示以缓存的外部命令的路径     -d:删除指定命令的缓存    -r:删除所有缓存
alias别名   
echo

-n:禁止添加换行符    -e:允许使用转义符;\n:换行   \t:制表符        echo $SHELL    //查看当前使用的shell

echo "$VAR_NAME": 变量会替换,双引号表弱引用        echo '$VAR_NAME': 变量不会替换,强引用

which显示命令对应的程序文件路径
whatis获取帮助精确搜索    基于数据库的查找命令    优点:查找速度快    缺点:不具有实时性

makewhatis

更新数据库     数据库存放在:/var/cache/man/whatis
more-d:显示翻页及退出提示
less 
head

-c #:指定获取前#字节    -n #:指定获取前#行

tail-c #:指定获取后#字节    -n #:指定获取后#行    -f:跟踪文件新追加的内容
history查看历史记录     -a:将当前终端的新命令追加到历史记录
whoami显示当前的用户名
who am i显示当前用户名,终端,登陆时间
who显示当前系统的登陆信息
w详细显示当前系统的所有登陆信息

时间日历

 
date

%Y:年份(全/数字)  %y:年份(简/数字)  %m:月(数字)  %h:月(英文)  %d:日(数字)

%H:时(数字)%M:分(数字)  %S:秒(数字)%D:月/日/年  %F:年-月-日  %T:时:分:秒

cal日历
clock / hwclock-s:以硬时间为准同步    -w:以软时间为准同步
关机与重启 
reboot, shutdown, init 6重启
halt, poweroff, shutdown,init关机
文件的管理 
cp复制文件
mv移动文件
rm删除文件
目录管理 
mkdir创建目录     -p:递归创建    -v:显示详情信息     -m:指定权限
rmdir删除空目录
tree显示目录树 -d:只显示目录    -L 3:指定显示的层级数
cd进入目录
pwd显示当前的路径
ls列出当前目录的列表
文件编辑 
  

           


  • Linux 文件类型 

                        - :表示常规文件

                        d :目录文件

                        b:block ;块设备

                        c:字符设备

                        l:软连接文件---说白了就是快捷方式

                        p:管道

                        s:套接字文件

                 //红色圈圈内的d就是文件的类型

  • bash的基础特性

                    (1)命令的历史

                                history查看命令历史记录        -a    手动追加新命令到历史记录

                    (2)命令的补全

                                Tab键补齐

                    (3)路径的补齐

                                Tab键补齐

                     (4)命令行展开

                                ~:展开用户的主目录

                                {}:,位分割,将其展开为多个路径

                      (5)命令的执行结果状态

                                成功或失败         用bash查看,如bash $?

                                执行的程序有两种结果,返回值和状态值

  • pwd命令:显示当前绝对路径

                      -p:如果当前位置是软连接目录,则显示源文件路径  如下图

                     第一个红线标识的是个软连接    //    下一个红线就是源文件路径

  •  绝对路径:就是从根部出发
  •  相对路径:就是从当前位置出发

                      .:一个点表示当前位置

                     ..:两个点往上走一步

       例子:

              在app下有个文件叫etc它下面有个A111 -----把A111移动到app下

  • dirname命令:去除文件名,只留文件目录
  • cd命令:目录的切换(可以使用相对路径)

           cd -:进入上一次的目录,也就是两个目录之间来回切换

           cd..:进入父目录

            

  • ls命令:列出目录内容

          -a:显示所有文件包括隐藏的

          -l:显示属性

         -d:仅显示文件目录

         -R:递归显示子目录中的文件(就是显示子目录的文件)

          -i:显示indoe号:

            划红线这一串数字就是 indoe号

  • indoe是什么?

           一个文件的节点,每个文件就有一个indoe号,和block快,

  • 那indoe号有什么用呢?

                 就是利用文件的indoe号找到该文件的数据,就相当于公民身份证号码,独一无二的。

        数据是由 原数据和数据组成,而indoe存放的是数据的原数据(数据类型,大小,权限,组类别等等)

        而block块存放的就是数据内容。

        如用户访问根目录下  /etc/a文件 ,问根你下面有没有一个叫etc的文件,有,它indoe号多少,indoe号5

        就去找到indoe5这个indoe 里面有对应的block编号比如是1.2,就去找到对应的block编号1和2

        你目录下有没有一个叫a的文件,有它的indoe号是3,这是找到indoe3,有个block编号如5.6.12

        这个5.6.12就是数据a。配合着建议图看吧。

        

  • stat命令:显示文件的状态详细信息

        

  • touch命令:创建文件

        在123文件下创建了1000个文件

        touch -a :是更新atime和ctime时间

        touch -m:更新mtime和ctime时间

        touch -c:文件存在更新三种状态,不存在,没反应

  • 文件通配符的使用:

                *:表示所有字符0或多个         ?:表示一个字符    []:表示单个字符且或者的关系

           [0-9]:表示任意数字                 [a-Z]:表示单个大小写字母  [^]:没有的意思  例:[^0-9]:匹配除了数字的内容

            [[:alnum:]]单个任意数字和字母   [[:alpha:]]单个任意大小写字母 

            [[:blank:]]单个空格和tab            [[:digit:]]单个任意数字

            [[:lower:]]单个任意小写字母       [[:upper:]]单个任意大写字母

            [[:punct:]]单个标点符号             [[:space:]]单个空格或tab或回车


  • cp命令:复制

          源是一个文件:

                 如果目标存在则替换源文件内容,名字不一样就重命名

                 如果目标不存在则复制

         源是一个目录:

                如果目标存在则在复制到本目录下 ,如果目标不存在则复制到当前目录

        源是多个文件

               目标不存在则报错,目标是存在且是目录是则复制到该目录下

        源是多个目录

               目标不存在则测创建指定的目录复制过去,目标存在且是目录是则复制到该目录下,如果该目录下

               有和源文件重名的文件则源文件覆盖目标文件。

           cp -r 源文件是目录递归复制(目录下的子文件一起复制过去)

           cp -d 复制文件是软连接文件时,仅复制软连接本身(就是复制过去这个软连接是未激活的,不可用。)

           cp -p 复制时保留源文件属性,就是保留文件的权限,时间,所属组

           cp -a 归档复制,就是-rdp的组合

  • mv命令:移动和重命名(指定的文件没有则创建)

           mv -i:移动的时候有提醒

           mv -f:没有提醒

  • rename命令:重命名

                rename 旧名字 新名字 要改名的文件

                 例如rename doc txt *.doc

  • rm: remove,删除

        rm [OPTION]... FILE...

            常用选项:         

               rm -r:递增删除

               rm -f:强制删除

               rm -rf *删除所有


  • tree: 树状显示目录

              -d: 只显示目录
              -L level:指定显示的层级数目
              -P pattern: 只显示由指定pattern匹配到的路径;

  •     rmdir:删除空目录

                rmdir [OPTION]... DIRECTORY...
                    -v: 显示过程;-r:递归删除


  • 附加几道练习题

                (1) 如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b, /tmp/x/y2/a, /tmp/x/y2/b
                                mkdir /tmp/x/{y1,y2}/{a,b}        

                (2) 如何创建x_m, y_m, x_n, y_n
                                mkdir {x,y}_{m,n}

                (3) 如何创建/tmp/bin, /tmp/sbin, /tmp/usr, /tmp/usr/bin, /tmp/usr/sbin
                                mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}

              (4)显示前天星期几

                                date -d '-2 day' "+%F 星期%w"




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值