linux笔记和常用指令

vim

vi和vim的三种常见模式

  • 命令模式(可以使用快捷键)
  • 输入模式(输入i进入输入模式)
  • 底线模式(读取,存盘,替换,离开vim)
    • q:直接退出
    • q!:强制退出
    • w:写入磁盘
    • w!:强制写入磁盘
    • wq:写入磁盘并退出
    • wq!:强制写入磁盘并退出
    • 更多命令

linux笔记和常用指令

关机和重启

shutdown:

  • shutdown -h now:立即关机
  • shutdown -h 1:1分钟之后关机
  • shutdown -r now:重启

**halt:**关机

**reboot:**重启

**sync:**把内存数据同步到磁盘(关机或重启是应先执行此命令

用户管理

linux通过组的概念来管理用户和权限,每个用户都至少属于一个组

1. 添加用户

useradd 用户名:家目录位于/home下

useradd -d /home/person :创建用户并指定该用户的家目录

useradd -g 组名 用户名:创建用户并指定用户组(组必须存在)

usermod -g 组名 用户名:修改用户的组

passwd 用户名:设置用户的密码

2. 删除用户

userdel 用户名:删除用户,但保留用户家目录

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

3. 查看用户信息

id 用户名:显示用户id,组id,组名

4. 切换用户

su 用户名:切换到用户

高权限用户切换低权限用户不需要输密码,低权限切换到高权限需要密码,当需要返回原来用户是使用exit命令

组管理

相当于角色,可对有共性的用户集中管理

1. 创建组

groupadd 组名

2. 删除组

groupdel 组名

用户和组相关文件

/etc/passwd 文件:用户的配置文件,记录用户各种信息

每行含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell

个人感觉可以用此文件查看谁对本机进行了何种操作

/etc/shadow 文件:口令文件

/etc/group 文件:组配置文件

每行含义:组名:口令:组标识号:组内用户列表

实用指令

  • 帮助指令

    • man [命令或配置文件]:帮助指令,会列出帮助信息(centos7支持简体中文)

    • help [命令]:帮助指令

  • 文件目录类(常用)

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

    • ls:显示文件和目录

      • ls -a:显示当前目录所有的文件和目录
      • ls -l:列表方式显示信息
    • cd:进入到指定目录

      • cd ~ :回到自己的家目录
      • cd … :回到当前目录的上级目录(相对定位)
      • cd /usr/local:进入到/usr目录下的local目录(绝对定位)
    • mkdir:创建目录文件夹

      • mkdir /home/dog:在home下创建dog目录
      • mkdir -p /home/animal/dog:在home先创建animal然后在animal下创建dog
    • rmdir:删除空目录

      • rmdir /home/dog
    • rm -rf 目录名或文件名:强制删除文件夹及文件夹下所有文件(删库跑路必备神器)

    • touch 文件名:创建一个空文件

    • cp:拷贝文件到指定目录

      • cp aaa.txt bbb/:将当前目录aaa.txt拷贝到bbb目录下

      • cp -r /home/tomcat/ /opt/:将home下的tomcat目录拷贝到opt目录下,当tomat有文件或文件夹时,应带参数-r

      • \cp -r /home/tomcat/ /opt/:opt下存在tomcat目录时会提示是否覆盖,此命令强制覆盖

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

      • mv pig.txt dog.txt:将pig.txt重命名为dog.txt
      • mv tomcat/ /home/:将tomcat目录移动到home目录下
    • cat:只读方式打开文件

      • cat 文件名:显示文件内容
      • cat -n 文件名:带行号,显示文件内容
      • cat -n 文件名 | more :带行号,分页(空格进入下一页),显示文件内容
    • less:分屏查看内容(懒加载,效率高,适合大型文件的查看)

      • less /etc/profile

        快捷键 功能
        空格键、pagedown 向下翻动一页
        pageup 向上翻动一页
        /字符 向下搜索字符
        ?字符 向上搜索字符
        q 离开less程序
    • >>>

      • cat /etc/profile > a.txt:将etc下的peofile内容覆盖写入到a.txt中
      • cat /etc/profile >> a.txt:将etc下的peofile内容追加写入到a.txt中
      • echo hello >> a.txt:将hello追加写入到a.txt中
      • echo hello:将hello输出到控制台
    • head 文件名(默认前10行)

      • head /etc/profile:显示etc下profile前10行内容
      • head -n 5 /etc/profile:显示etc下profile前5行内容
    • tail 文件名(默认输出后10行)

      • tail /etc/profile:显示etc下profile后10行内容

      • tail -n 5 /etc/profile:显示etc下profile后5行内容

      • tail -f 文件名:实时追踪文件的所有更新(常用,日志文件的追踪)

    • ln -s 链接到的地址 链接名(类似于windows的快捷方式)

      • ln -s /root lindToRoot:链接为lindToRoot
    • history:查看执行过的历史指令

  • 时间日历类

    • date:当前时间信息,设置时间

      • date +%Y:当前年份

      • date +%Y-%m:当前年月

      • date +%Y-%m-%d:当前年月日

      • date “+%Y-%m-%d %H:%M:%S"”:当前年月日时分秒

      • date -s “2019-10-19”:设置日期

    • cal:日历

      • cal :显示当前日历信息
      • cal 2019:显示2019年所有日历
  • 压缩和解压缩

    • gzip和gunzip:压缩和解压缩(完成后不会保留原文件)

      • gzip a.txt:将a.txt压缩,并删除掉a.txt
      • gunzip a.txt.gz:将a.txt.gz解压缩,并删除掉a.txt.gz
    • zip和unzip:压缩和解压缩

      • zip [选项] 压缩包.zip 被压缩的文件或目录
      • zip -r(递归压缩) package.zip /home/:将home下的所有文件递归压缩为package.zip
      • unzip [选项] [解压位置] 被解压文件或目录
      • unzip -d(指定解压位置) /opt/tmp/ package.zip:将package解压到opt目录的tmp目录下
    • tar:压缩和解压缩指令,打包完的文件是.tag.gz文件

      • tar [选项] xxx.tar.gz 被打包的文件或目录

      • tar -zcvf a.tar.gz a.txt b.txt:将a.txt和b.txt压缩为a.tar.gz

      • tar -zcvf a.tar.gz /home/:将home目录下所有文件压缩为a.tar.gz

      • tar -zxvf a.tar.gz -C /opt:将a.tar.gz解压缩到opt目录下

        选项 功能
        -c 产生.tar打包文件
        -v 显示详细信息
        -f 指定压缩后的文件名
        -z 打包同时压缩
        -x 解包.tar文件