Linux学习笔记(一)

vim的使用

使用Linux系统的过程中,需要编辑文件时候,直接使用vim比较方便。

三种模式

vim 有三种模式,分别为一般模式,编辑模式,末行(命令行)模式,关系如下:
在这里插入图片描述

常用快捷键和命令

  • (一般模式)复制当前行yy,复制后面5行5yy,粘贴p.
  • (一般模式)删除当前行yy,删除后面5行5dd.
  • (一般模式)撤销, 按u.
  • (一般模式)移动光标到第5行. “5 shift+g
  • (命令行模式)查找某个单词,“/关键字”,按“回车查找”,输入n查找下一个
  • (命令行模式)显示行号:“:set nu”;取消行号:“:set nonu”.

基本指令

开关机指令

  • shutdown
    shutdown -h now :表示立即关机
    shutdown -h 1 :表示1分钟后关机
    shutdown -r now :立即重启
  • halt :直接使用,关机
  • reboot :重启系统
  • sync :把内存的数据同步到磁盘上

注意:最好在关机和重启之前输入一遍sync命令,防止数据丢失

用户注销

在远程登录时输入logout注销。(在图形界面无效)

用户管理

基本概念

在这里插入图片描述

添加、删除、查询、切换用户

  • useradd [选项] username

案例1: 添加一个用户 xm
ueradd xm

  • 当创建用户成功后,会自动的创建和用户同名的家目录
  • 当创建用户时,通过 -d + 目录 + 用户名,给新创建的用户指定家目录
    如:useradd -d /home/xqhome xq

注意:不同版本的linux系统上述指令可能会有所不同,需要单独查询。比如:ubuntu18.04 就需要加入-m才可以自动创建家目录

  • passwd username

给用户username指定或修改密码

  • userdel uername

删除用户保留目录
如果想同时删除其家目录,则输入:
userdel -r username
实际开发中删除用户时,一般不删除家目录

  • id username

uid:用户id
gid:所在组的id号
groups:组名称
用户不存在时,返回无此用户no such user

-su - username

通过上述命令切换用户,当从高权限登入低权限时不需要输入密码,返回上一个用户时可以输入exit.

用户组相关内容

相关命令

  1. 增加组
    groupadd groupname
  2. 删除组
    groupdel groupname
  3. 创建用户时指定所在组
    useradd -g groupname username
  4. 修改用户组
    usermod -g groupname username
    该指令将用户username 修改到groupname组内。

/etc/passwd 文件

user(用户)的配置文件,记录用户的各种信息
每行的含义:
用户名:口令:用户标志号:组标志号:注释描述:主目录:登录shell
在这里插入图片描述

/etc/shadow

口令配置文件(密码和登录信息,加密的)

/etc/group

组(group)的配置文件,记录linux包含的组的信息。
每行的含义:
组名:口令:组标志号:组内用户列表
在这里插入图片描述

实用指令

系统运行级别和找回root密码

运行级别的示意图如下/etc/inittab(常用的运行级别是3和5):
注意:该图为linux系统的运行级别,针对具体系统可能不同,比如ubuntu系统的分级可能和下图有所不同,同时也没有/etc/initab文件
在这里插入图片描述

  • 切换到指定运行级别
    init [0123456]
  • 找回root密码(针对具体系统操作有不同)
  1. 进入单用户模式1
  2. 修改root密码

因为单用户模式,root不需要密码就可以登录。
此方法的前提,不能远程操作,只能用该电脑操作,因此也是安全的

  • 设置默认运行级别,根据系统操作也有所不同。

有趣的问题:如果被人设置了默认运行级别0(开机就关机),则可使用类似找回root密码的方式,再修改默认运行模式级别即可。

帮助指令

  1. man [命令或配置文件]
    比如man ls 查看ls命令的帮助信息
  2. help [命令]
    比如’help cd

具体用法百度最直接

文件目录类指令

pwd 指令

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

ls指令

  • 基本语法
    ls [选项] [目录或是文件]
  • 常用选项
    -a:显示当前目录所有的文件和目录,包括隐藏的
    -l: 以列表的方式显示信息

cd指令

  • 基本语法
    cd [参数]
  • 常用参数
    绝对路径和相对路径
    cd ~或者cd: 回到自己的家目录
    cd ..:回到当前目录的上一级目录

mkdir指令

该指令用于创建目录

  • 基本语法
    mkdir [选项] 要创建的目录
  • 基本选项
    -p:创建多级目录

rmdir指令

用该指令删除空目录

  • 基本语法
    rmdir [选项] 要删除的空目录
  • 注意:当目录中有文件时,需要用 rm -rf

touch指令

该指令用于创建空文件

  • 基本语法
    touch 文件名称
  • 一次性创建多个文件也可以

cp指令(不同系统可能有差异)

cp 指令拷贝文件到指定目录

  • 基本语法
    cp [选项] source dest
  • 常用选项
    -r :递归复制整个文件夹
  • 强制覆盖
    \cp [选项] source dest

注意

在ubuntu18.04中,不加\即表示直接覆盖,如果需要弹出覆盖提示,则要在选项中加入-i.
在这里插入图片描述

rm指令

移除文件或者目录

  • 基本语法
    rm [选项] 要删除的文件或目录
  • 常用选项
    -r:递归删除整个文件夹
    -f:强制删除不提示

mv指令

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

  • 基本语法
    mv oldfilename newfilename (功能:重命名,似乎新的文件名必须要有后缀
    mv /temp/movefle /targetfolder (功能:移动文件)

cat指令(查看文件)

cat 查看文件内容(只能浏览,不能修改——只读)

  • 基本语法
    cat [选项] 要查看的文件
  • 常用选项
    -n 显示行号
  • 为了浏览方便,再命令后加上管道命令| more分页显示(按空格跳下一页)

more指令(查看文件)

more指令是一个基于VI编辑器的文本过滤器,全屏方式,按页显示。
用法:more 要查看的文件
该指令有一些快捷键,在此就不列出。

less指令(适合查看大文件)

less指令分屏查看文章内容,在显示文件时,并不是一次将整个文件加载后再显示,而是根据需要显示加载的内容,对于显示大型文件具有较高的效率。

  • 基本语法
    less 要查看的文件

>指令和>>指令

> :输出重定向,会将原来的文件内容覆盖
>>:追加,不会覆盖原来的内容,而是会追加到文件尾部

  • 基本语法
    1. ls -l > 文件 (功能:列表内容覆盖文件)
    2. ls -al >> 文件 (功能:列表内容追加到文件末尾)
    3. cat 文件1 > 文件2 (功能:将文件1的内容覆盖文件2)
    4. echo "内容" >> 文件 (功能:内容追加到文件末尾)

说明:在使用上述命令时,如果文件不存在,则自动创建该文件。

echo指令

echo 输出内容到控制台

  • 基本语法
    echo [选项] [输出内容]
  • 实例
    echo $PATH (输出当前环境变量)
    在这里插入图片描述
    echo "hello" (直接输出字符串hello)

head指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。

  • 基本语法
    head 文件(查看文件头10行内容)
    head -n 5 文件 (查看文件头5行内容,5是任意行数)

tail指令

tail用于输出文件中尾部的内容,默认情况tail指令显示文件的后10行内容。

  • 基本语法
    tail 文件 (查看文件尾10行)
    tail -n 5 文件 (查看文件尾5行)
    tail -f 文件实时追踪该文档的所有更新,比较常用)

ln指令

软连接也叫符号链接,类似于windows里的快捷方式。

  • 基本语法
    ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软连接)
    删除软链接时用 rm -rf 软链接名

history指令

查看已经执行过历史命令,也可以执行历史指令

  • 基本语法
    history (查看已经执行过的历史命令)
    history n (显示最近执行过的n条指令)
    !n (执行编号为n的指令)

时间日期类指令

date指令-显示当前日期

  • date (显示当前时间)
  • date +%Y (显示当前年份)
  • date "+%Y-%m-%d %H:%M:%S" (显示年月日时分秒)
    在这里插入图片描述

date 指令-设置时间

  • 基本语法
    date -s 字符串时间
  • 例子date -s "2018-10-10 11:22:22",设置时间

cal指令

查看日历指令

  • 基本语法
    cal [选项] (不加选项,显示本月日历,选项可以选择年份)

搜索查找类指令

find指令

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端。

  • 基本语法
    find [搜索范围] [选项]
  • 选项说明
    -name <文件名> (按照指定的文件名查找文件)
    -user <用户名> (按照属于指定用户名查找所有文件)
    -size <文件大小> (按照指定的文件大小查找文件)
  • 实例

find /home -name hello.txt
find /opt -user nobody
find / -size +20M (具体用法可以参照帮助,+:大于,-:小于)

locate指令

locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径额locate数据库实现快速定位给定的文件。locate指令无需遍历整个系统文件,查询速度比较快。为了保证查询结果的准确度,管理员必须顶起更新locate时刻。

  • 基本语法
    locate 搜索文件
  • 说明
    由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

grep指令和管道符号|

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

  • 基本语法
    grep [选项] 查找内容 源文件
  • 常用选项
    -n 显示匹配行以及行号
    -i 忽略字母大小写
  • 实例:在hello.txt文件中,查找"yes"所在行,并且显示行号
    cat hello.txt | grep -ni yes

压缩和解压缩类指令

gzip和gunzip指令

  • 基本语法
    gzip 文件 (压缩文件,只能将文件压缩成*.gz文件)
    gunzip 文件.gz (加压文件命令)
  • 细节说明:
    当使用gzipgunzip指令后,不会保留原来的文件。

zip/unzip指令

zip用于压缩文件,unzip用于解压的,在项目打包发布中很有用。

  • 基本语法
    zip [选项] xxx.zip 将要压缩的内容 (压缩,xxx.zip为压缩以后的压缩包名,可以压缩文件或者目录)
    unzip [选项] xxx.zip (解压缩文件)
  • zip常用选项
    -r :递归压缩,即压缩目录
  • unzip常用选项
    -d <目录>: 指定解压后文件的存放目录

tar指令

tar指令是打包指令,最后打包后的文件是.tar.gz 的文件。

  • 基本语法
    tar [选项] xxx.tar.gz 打包的内容 (打包目录,压缩后的文件的格式是.tar.gz)
  • 选项说明
    -c: 产生.tar打包文件
    -v: 显示详细信息
    -f: 指定压缩后的文件名
    -z: 打包同时压缩
    -x: 解包.tar文件
  • 注意
    压缩时候指定文件名时选项使用 -zcvf ,f放最后,因为要跟文件名。
    解压时,选项使用 -zxvf,需要指定解压路径时候,加-C 目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值