linux基础学习笔记


在linux中,一切皆文件。

linux系统目录

linux基础学习笔记
具体含义

vi/vim

菜鸟教程

  • 进入或创建文件 vim hello.txt
  • 按下 i 进入输入模式(也称为编辑模式),开始编辑文字
  • 按下 ESC 按钮回到一般模式
  • 在一般模式中按下 :wq 储存后离开

复制

  • yy 复制游标所在的那一行
  • nyy n 为数字。复制光标所在的向下 n 行,
    例如 20yy 则是复制 20 行

粘贴

  • p为将复制的数据粘贴

删除

  • dd 删除游标所在的那一整行
  • ndd n 为数字。删除光标所在的向下 n 行,
    例如 20dd 则是删除 20 行

查找

  • /word   向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!
  • ?word  向光标之上寻找一个字符串名称为 word 的字符串。
  • n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串

***

  • :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
  • :set nonu 与 set nu 相反,为取消行号

移动

  • G 移动到这个档案的最后一行
  • nG n 为数字。移动到这个档案的第 n 行。
    例如 20G 则会移动到这个档案的第 20 行
    (可配合 :set nu)也可以n+shift+g
  • gg 移动到这个档案的第一行,相当于 1G 啊!

恢复

  • u      复原前一个动作。(常用)
  • [Ctrl]+r   重做上一个动作。(常用)
    提示:这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦!
  • .   不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)

关机&重启命令

基本介绍

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

注意细节

  • 当我们关机或者重启时,都应该先执行以下sync指令,把内存的数据写入磁盘,防止数据丢失。

用户和用户组管理

菜鸟教程

基本介绍

linux基础学习笔记

一、Linux系统用户账号的管理

1、添加新的用户账号使用useradd命令,其语法如下:

useradd 选项 用户名
具体请看上面链接

  • 细节说明:
    当创建用户成功后,会自动的创建和用户同名的家目录,也可以通过useradd-d指定目录
  • 补充:给用户指定或修改密码
    passwd 用户名

2、删除帐号

  • 如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

  • 删除一个已有的用户账号使用userdel命令,其格式如下:

userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
例如:userdel -r sam
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

补充:不加-r则不删除家目录。
   在删除用户时,我们一般不会将家目录删除。

3、修改帐号

修改已有用户的信息使用usermod命令,其格式如下:

usermod 选项 用户名
具体请看上面链接

4、用户口令的管理

  • 用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

  • 指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为

passwd 选项 用户名
具体请看上面链接

二、Linux系统用户组的管理

  • 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
  • 用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

1、增加一个新的用户组

1、增加一个新的用户组使用groupadd命令。其格式如下:
groupadd 选项 用户组
具体请看上面链接

2、删除一个新的用户组

2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:
groupdel 用户组

3、修改用户组的属性使

3、修改用户组的属性使用groupmod命令。其语法如下:
groupmod 选项 用户组
具体请看链接

4、切换用户组

4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
$ newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

三、与用户账号有关的系统文件

看菜鸟教程即可

使用指令

1.运行级别和找回root密码

linux基础学习笔记
linux基础学习笔记
linux基础学习笔记
linux基础学习笔记

2.帮助指令

linux基础学习笔记
linux基础学习笔记
linux基础学习笔记

3.文件目录类

绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。

相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。

ls (列出目录)

基本语法
ls [选项] [目录或是文件]

选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)

例子:
ls    ls -a   ls -l    ls -al

cd (切换目录)

基本语法
cd [参数] (功能描述:切换到指定目录)
• 常用参数
绝对路径和相对路径

cd ~ 或者cd     回到自己的家目录
cd ..       回到当前目录的上一级目录

pwd (显示目前所在的目录)

pwd

mkdir (创建新目录)

mkdir [-mp] 目录名称
选项与参数:

-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

rmdir (删除空的目录)

语法:
rmdir [-p] 目录名称

选项与参数:
-p :连同上一级『空的』目录也一起删除
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录

touch指令

touch指令创建空文件
• 基本语法
touch 文件名称

cp (复制文件或目录)

cp 指令拷贝文件到指定目录
• 基本语法
cp [选项] source dest

• 常用选项
-r :递归复制整个文件夹
强制覆盖不提示的方法:\cp

rm (移除文件或目录)

语法:
rm [-fir] 文件或目录

选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

mv (移动文件与目录,或修改名称)

语法:
[[email protected] ~]# mv [-fiu] source destination
[[email protected] ~]# mv [options] source1 source2 source3 … directory

选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
基本语法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)

cat指令

cat 查看文件内容
• 基本语法
cat [选项] 要查看的文件
• 常用选项
-n :显示行号
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more

more指令

linux基础学习笔记

less指令

linux基础学习笔记

指令 和 >> 指令

输出重定向和 >> 追加
• 基本语法

  1. ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
  2. ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
  3. cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
  4. echo “内容”>> 文件

• 应用实例
linux基础学习笔记
案例2: 将当前日历信息 追加到 /home/mycal 文件中
linux基础学习笔记

echo指令

echo输出内容到控制台。
• 基本语法
echo [选项] [输出内容]

• 应用实例
案例: 使用echo 指令输出环境变量
echo $PATH

head指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
• 基本语法
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)

tail指令

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
• 基本语法

  1. tail 文件 (功能描述:查看文件头10行内容)
  2. tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
  3. tail -f 文件 (功能描述:实时追踪该文档的所有更新)
    要等到按下[ctrl]-c才会结束tail的侦测

• 应用实例
案例: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期

ln 指令

软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
• 基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

• 应用实例
案例1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /xiaoming/Hello.java目录
ln -s /home/xiaoming/Hello.java linkToRoot
案例2: 删除软连接 linkToRoot
/home/xiaoming/Hello.java
• 细节说明
当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。

history指令

查看已经执行过历史命令,也可以执行历史指令
• 基本语法
history (功能描述:查看已经执行过历史命令)

• 应用实例
案例1: 显示所有的历史命令
history
案例2: 显示最近使用过的10个指令。
history 10
案例3:执行历史编号为5的指令
!5

4.时间日期类

date指令-显示当前日期

• 基本语法

  1. date (功能描述:显示当前时间)
  2. date +%Y (功能描述:显示当前年份)
  3. date +%m (功能描述:显示当前月份)
  4. date +%d (功能描述:显示当前是哪一天)
  5. date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
    • 应用实例
    案例1: 显示当前时间信息
    date
    案例2: 显示当前时间年月日
    date “+%Y-%m-%d”
    案例3: 显示当前时间年月日时分秒
    date “+%Y-%m-%d %H:%M:%S”

date指令-设置日期

• 基本语法
date -s 字符串时间
• 应用实例
案例1: 设置系统当前时间 , 比如设置成 2020-11-11 11:22:22

cal指令-查看日历指令

• 基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
• 应用实例
案例1: 显示当前日历
案例2: 显示2020年日历 cal 2020

搜索查找类

find指令

linux基础学习笔记
应用实例
案例1: 按文件名:根据名称查找/home 目录下的hello.txt文件
find /home -name hello.txt
案例2:按拥有者:查找/opt目录下,用户名称为 nobody的文件
find /opt -user nobody
案例3:查找整个linux系统下大于20m的文件(+n 大于 -n小于 n等于)
find / -size +20M
find / -size +20480k

locate指令

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

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

grep指令和 管道符号 |

linux基础学习笔记
linux基础学习笔记

压缩和解压类

gzip/gunzip 指令

gzip 用于压缩文件, gunzip 用于解压的
• 基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
• 应用实例
案例1: gzip压缩, 将 /home下的 hello.txt文件进行压缩
案例2: gunzip压缩, 将 /home下的 hello.txt.gz 文件进行解压缩

zip/unzip 指令

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
• 基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
• zip常用选项
-r:递归压缩,即压缩目录
• unzip的常用选项
-d<目录> :指定解压后文件的存放目录
• 应用实例
案例1: 将 /home下的 所有文件进行压缩成 mypackage.zip
案例2: 将 mypackge.zip 解压到 /opt/tmp 目录下

tar 指令

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
• 基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
• 选项说明
linux基础学习笔记
• 应用实例
案例1: 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
案例2: 将/home 的文件夹 压缩成 my