【学习笔记】--2018尚硅谷韩顺平Linux

1.常用指令

1.1关机重启命令

         shutdown -h now :立即关机

         shutdown -r now :立即重启

         shutdown -h 1 :一分钟后重启

         halt                             :直接使用,效果等于关机

         reboot                         :重启系统

         sync                    :把内存数据同步到磁盘上

1.2用户管理

         su_用户名                 :切换用户

         logout                         :注销用户(图形运行级别无效)

        

         groupadd                  :创建组

         groupdel                   :删除组

        

         useradd [选项]         用户名     :创建新用户

         useradd -d /home/dog xq  :创建新的用户名与文件夹/home/dog,该路径为新用户xq的家目录

         useradd -g wudang zwj   :在已创建的组中,创建新用户zwj.

        

         usermod -g shaolin zwj   :将zwj用户修改到shaolin组,用户和组均已创建

        

         userdel [选项] 用户名     :删除用户名,不删除家目录

         userdel     -r 用户名                  :删除用户名,且删除家目录

        

         passwd 用户名       :给用户名指定新密码

        

         init[0/1/2/3/5/6]      :切换到不同的运行级别,立即执行语句

        

         man [命令或配置文件]  :获得帮助信息

         help 命令                  :获得shell内置命令的帮助信息

1.3文件目录类

         pwd                    :显示当前工作目录的绝对路径

        

         ls [选项] [目录或是文件]

         ls -a           :显示当前目录所有的文件和目录,包括隐藏的

         ls -l            :以列表显示当前目录所有的文件和目录,不包括隐藏的

         ll                          :以列表显示当前目录所有的文件和目录,不包括隐藏的

         ls -al          :以列表显示当前目录所有的文件和目录,包括隐藏的

        

         cd [参数] :切换到指定目录

         cd~ 或者cd    :回到自己的家目录

         cd ..           :回到当前目录的上一级目录

         cd ../                  :回到当前目录的上一级目录

        

         mkdir [选项]:创建新的目录

         mkdir -p /home/animal/tiger  :创建多级目录,animal/tiger均为新创建的文件

         rmdir [选项]:删除空目录

        

         rm                       :指令删除文件或目录

        

         rm -rf        :删除非空目录   r递归删除 f强制删除不提示

         rm -r        :递归删除整个文件夹

         rm -f          :强制删除不提示

        

         touch 文件名称                                  :创建空文件

         touch demo01.txt demo02.txt       :同时创建demo01.txt和demo02.txt空文件

        

         cp [选项] source dest     :拷贝文件到指定目录 source源文件 dest目标文件夹

         cp -r test/ zwj/               :将当路径的test文件夹递归复制到当前路径的zwj文件夹,当目标文件夹出现相同文件时,会提示是否覆盖。

         \cp -r test/ zwj/              :将当路径的test文件夹递归复制到当前路径的zwj文件夹,当目标文件夹出现相同文件时,强制覆盖。

        

         mv 文件名称                                                        :移动文件与目录  或者 重命名

         mv  oldNameFile   newNameFile      :重命名

         mv  /temp/movefile   /targetFolder   :移动文件

 

         cat [选项] 文件名                 :以只读的方式打开文件

         cat -n /etc/profile |more :以cat指令打开文件,并分页显示(|more,按空格键跳到下一页),-n显示行号,

         cat [选项] 文件名  |more       :分页浏览,只读

        

         more         :基于vi编辑器的文本过滤器,它以全屏的方式按页显示文本文件的内容。

more中的快捷键:空格键   :下翻一页

                                               Enter        :下翻一行

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

                                               Ctrl+F       :向下滚动一凭

                                               Ctrl+B       :返回上一屏

 

         less           :分屏查看文件内容,less指令在显示内容时,并不是一次加载整个文件之后才显示,而是根据显示需要加载内容。打开时间快。

 

         >输出重定向 和 >>追加

         >输出重定向  :会将原来的内容覆盖

         >>追加              :不会覆盖原来的内容,而是追加到文件的尾部

         ls -l >文件                  :列表的内容写入文件中,覆盖写;如果该文件没有,会创建新文件。

         ls -al >>文件    :列表的内容写入文件中,追加写;如果该文件没有,会创建新文件。

         cat 文件1  >> 文件2         :将文件1的内容覆盖到文件2中

         echo “内容” >> 文件      :将内容追加到文件中

         echo “内容” > 文件                  :将内容覆盖到文件中 

 

         echo [选项] [输出内容]  :输出内容到控制台

 

         head 文件名                     :查看文件的开头部分,默认前十行。

         head -n 5 文件名             :查看文件前5行内容

 

         tail 文件名                        :查看文件尾部的内容,默认后十行。

         tail -n 5 文件名                :查看文件后5 行内容

         tail -f 文件名                     :实时追踪文档的所有更新。

 

         ln -s [原文件或目录] [软连接名]    :给原问价创建一个软连接,即快捷键

         rm -rf 软连接名                                  :删除软链接名时,不要带斜杠/,否则提示资源忙

         使用pwd指令查看目录时,任然看到的是链接所在的目录   

 

         history                                :查看已经执行过的所有命令,也可以执行历史命令

         history 10                                     :显示最近使用的10个指令

         !134                                      :执行编号为134的指令

1.4时间日期类

         date                                     :显示日期

         date "+%Y-%m-%d %H:%M:%S"      :显示年月日时分秒

         date -s 字符串时间

1.5搜索查找类

         find [搜索范围] [选项]             :从指定目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端

         find /home -name hello.txt      :在/home文件下,按名字查找,hello.txt ,返回hello.txt的路径:例:/home/tiger/hello.txt

         find /home -user zwj                  :在/home文件下,查找zwj用户创建的所有文件

         find / -size -20M                          :在/文件下,查找小于20M的所有文件  =等于  +大于

        

         locate  搜索文件                     :可以快速定位文件路径

                   updatedb          à创建locate数据库

                   locate hello.txt         à在locate数据库中查找hello.txt

 

         grep过滤检查,管道符,|,表示将前一个命令结果输出传递给后面的命令处理。

         grep [选项] 查找内容 源文件      :查找内容

         cat hello.txt | grep -n  yes                        :以只读的方式打开hello.txt,并查找内容为  yes 所在的行号。

         cat hello.txt | grep -ni  yes                       :以只读的方式打开hello.txt,并查找内容为  yes 所在的行号,忽略大小写。

1.6解压缩类

         gzip                    :压缩文件,只能将文件压缩为*.gz文件,且原文件不保留。

         gunzip                :解压缩文件命令

 

         zip [选项] XXX.zip    :压缩文件和目录

         unzip[选项]XXX.xip  :解压缩文件

         zip  -r mypackage.zip /home/*      :将/home下的所有文件压缩到mypackge.zip中

         unzip -d /opt/tmp/ mypackage.zip  :将mypackage.zip中的文件解压到/opt/tmp/文件中

 

         tar [选项]         XXX.tar.gz                                    :打包指令,最后打包后的文件是*.tar.gz

         tar -zcvf a.tar.gz 1.txt 2.txt              :将1.txt 和2.txt压缩成a.tar.gz,且1.txt和2.txt任然保留

         tar -zcvf myhome.tar.gz /home/     :将/home/文件夹下的所有文件打包成myhome.tar.gz

         tar -zxvf a.tar.gz                                  :将a.tar.gz文件解压到当前目录,a.tar.gz保留

         tar -zxvf myhome.tar.gz -C /opt/tmp:将myhome.tar.gz文件解压到/opt/tmp/文件夹下,指定解压目录要存在

 

1.7组管理和权限管理

chown 用户名 文件名           :修改文件所有者

         chown -R tom /home/abcd/    :将/home/abcd/下的所有文件和目录的所有者都改为Tom(需用root权限执行,递归方式)

 

         chgrp  组名   文件名              :修改文件的组名

         chgrp –R monster /home/abcd/:将/home/abcd/下的所有文件和目录的所在组都改为monster(需用root权限执行,递归方式)

        

 

         usermod –g 组名   用户名     :改变用户所在的组名

         usermod –d 目录名 用户名 :改变用户登录的初始目录

        

         chmod      :修改文件或目录的权限                 r=4,w=2,x=1

                  u:所有者,g所有组,o其他人,a所有人‘’

         chmod u=rwx,g=rx,o=rx abc    :给abc文件的所有者读写执行的权限,给所在组读和执行的权限,给其他组读和执行权限。

         Chmod g=rw abc                      :修改所在组的权限,赋给所在组读和执行的权限,其余所有者和其他组的权限不修改。

         chmod a+w abc                           :给所有用户添加修改的权限

         chmod 755 /home/2.txt           : 给/home/2.txt文件的所有者读写执行的权限,给所在组读和执行的权限,给其他组读和执行权限

                                                                 r+w+x=4+2+1=7       r+x=4+1=5

1.8crond 任务定时调度

         crontab –e        :编辑任务调度

                  */1 * * * * /home/mytask1.sh                           :每隔一分钟执行/home/mytask1.sh文件

                   */1 * * * * ls –l /etc/  >> /tmp/to.txt    :每隔一分钟执行ls –l /etc/ >>/tmp/to.txt命令

         crontab –r        :终止任务调度

         crontab –l                  :列出当前有哪些任务调度

         service crond restart       :重启任务调度       

1.9磁盘分区

1)Linux硬盘分为IDE(标水:hdx-)和SCSI(标识:sdx-)硬盘,目前基本上是SCSI。

2)常用命令:

         Lsblk  -f           :查看当前系统的分区情况

         df  -h                :查看系统整体磁盘使用情况

         du  -h /目录   :查看指定目录的磁盘分区情况

                   -h      :以人能读懂的方式进行查看,带计量单位

                   -s      :指定目录占用大小汇总

                   -a      :含文件

                   -c      :列出明细的同时,增加汇总值

                   --max-depth=1 :子目录深度为1

         du -ach --max-depth=1  /home      :查询/home目录磁盘占用情况,深度为1

 

         ls –l  /home/ | grep “^-” | wc -l     :统计/home目录下文件的个数

         ls –l  /home/ | grep “^d” | wc -l    :统计/home目录下子目录的个数

         ls –lR  /home/ | grep “^-” | wc –l :统计/home目录下文件的个数,包括子目录中的

2.文件

         /etc/passwd              :用户配置文件

         /etc/group                :组配置文件

         /etc/shadow             :口令配置文件

3.运行级别

         0                :关机

         1                :单用户()找回丢失密码

         2                :多用户状态没有网络服务

         3                :多用户状态有网络服务

         4                :系统未使用保留给用户

         5                :图形界面

         6                :系统重启

        

         修改/etc/inittab的 id:5:initdefault:这一行的数字

4.面试题

         1.如何找回root密码,如果不小心,忘记密码,怎么找回。

                   思路:进入到单用户模式,然后修改root密码。(不能远程控制)

                   方法:

                            开机-->在引导是输入 回车键-->输入 e (编辑)-->选中第二行(内核),输入e(编辑)-->

                   在最后一行输入 空格1,再回车键-->再次输入b(重新引导),这时就会进入单用户模式。

                            此次修改仅改变当前进入系统的方式,一次性。

                            修改/etc/inittab  id:1:initdefault  ,永久性

         2.当前工作目录为/usr/lib,我们希望进入到/home 下

                   绝对路径:cd /home

                   相对路径:../../home

         3.将/home/aaa.txt拷贝到/home/bbb目录下

                   绝对路径: cd /home/aaa.txt /home/bbb

                   相对路径: cd aaa.txt bbb/

         4.每隔一分钟,就将当前的日期信息,追加到/tmp/mydate文件中

                   a.下面编写一个文件 /home/mytask1.sh

                            date >> /tmp/mydate

                            cal >> /tmp/mydate

                   b.给mytask1.sh一个用户可执行权限

                            chmod u=rwx /home/mytask1.sh

                   c. crontab –e

                   d. */1 * * * * /home/mytask1.sh

                   e. 成功

        5.给Linux系统增加一个新的硬盘,挂载到/home/newdisk

                   a.虚拟机添加硬盘

                   在【虚拟机】菜单中,选择【设置】,设备列表里添加硬盘,然后一直【下一步】。中间只有选择磁盘大小时需要修           改,我设置的是2GB,直至完成。重启系统才能识别。

                   b.分区

                  命令: fdisk  /dev/sdb

                   输入n,新增分区,输入p,分区类型为主分区,输入主分区序号(1—4),两次回车默认剩余全部空间,输入w写入          分区并退出,若不保存则输入q.

                   *m   :显示命令模块

                   *p     :显示磁盘分区(同fdisk -l)

                   *n     :新增分区

                   *d     :删除分区

                   *w    :写入并推出

                  c.格式化

                            命令:mkfs –t ext4  /dev/sdb1

                            ext4是分区类型

                   d.挂载:将一个分区与一个目录联系起来,要创建目录后才能进行挂载。

                            *mount  设备名称   挂载目录

                            *mount  /dev/sdb1  /home/newdisk

                            取消挂载:umount  设备名称 或者 挂载目录

                                                 *umount  /home/newdisk

                                                 *umount  /dev/sdb1

                            注意:卸载挂载时,要从挂载目录出来,否则显示  device is busy.

                   e.设置永久挂载

                            命令:vim  /etc/fstab

                            输入:/dev/sdb1               /            ext4    defaults        0 0

                            添加完后,输入mount  –a 即可生效。

         6.以树状显示目录结构

                   a.yum install tree                       安装指令,要联网,输入两次y表示确认,over。

                   b.tree

5.百度云链接

链接:https://pan.baidu.com/s/1pMVreD5cE2rX0luwPNRn6A 
提取码:oeyi 
复制这段内容后打开百度网盘手机App,操作更方便哦

                                    

        

 

        

        

 

 

 

 

 

 

 

 

 

 

 

 

 

        

猜你喜欢

转载自blog.csdn.net/qq_33654685/article/details/88055146