目录
一、vim的使用
vim常用的快捷键
- 拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(p)。在正常模式下
- 删除当前行 dd , 删除当前行向下的 5 行 5dd。在正常模式下
- 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ],查询hello.
- 设置文件的行号,取消文件的行号.[命令行下 : set nu (显示标号) 和 :set nonu(不显示标号)]
- 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。
- 在一个文件中输入 "hello" ,然后又撤销这个动作,再正常模式下输入 u
- 编辑 /etc/profile 文件,并将光标移动到 第 20 行 shift+g
- 显示行号 :set nu 第二步:输入 20 这个数第三步: 输入 shift+g
二、关机和重启
shutdown -h now 立即关机
shutdown -h 1一分钟后关机
shutdown -r now 立即重启
halt 关机
reboot 重启
sync 吧内容数据同步到磁盘,一般在使用shutdown之前使用该该语句。
三、linux用户设置
1、添加用户
1、语法useradd 【用户】
也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录
在ubuntu下如果要在创建用户时home文件下生成目录则需要写:
useradd -m 用户名
2、给用户修改密码或增加
passwd 用户名
3、删除用户
userdel 用户名(这种是保留家目录)
userdel -r 用户名(这种是连同家目录一起删除,用户的东西会全部删除)
4、查看用户信息
id 用户名
2、切换用户
1、基本语法
su – 切换用户名
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
- 当需要返回到原来用户时,使用 exit 指令
2、增加用户组
groupadd 组名
3、删除组
groupdel 组名
4、增加用户时直接加上组
useradd -g 用户组 用户名
3、修改用户组
修改在指定创建好的组中
usermod -g 用户组 用户名
4、用户相关的配置文件
1、/etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
2、/etc/shadow 文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
3、/etc/group 文件
组(group)的配置文件,记录 Linux 包含的组的信息每行含义:组名:口令:组标识号:组内用户列表
四、指定运行级别
1、运行级别说明:
0:关机
1:单用户【找回密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是 3 和 5 ,要修改默认的运行级别可改文件
/etc/inittab 的 id:5:initdefault:这一行中的数字
2、切换到指定运行级别的指令
init [012356] 通过init 数字 来切换运行级别
五、帮助指令
- 基本语法
man [命令或配置文件](功能描述:获得帮助信息)
- 应用实例
man ls
2、help 指令
help 命令 (功能描述:获得 shell 内置命令的帮助信息)
六、目录文件
1、pwd 指令
基本语法
pwd (功能描述:显示当前工作目录的绝对路径)
2、ls指令
- 基本语法
ls [选项] [目录或是文件]
- 常用选项
-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息
3、cd 指令
基本语法
cd [参数] (功能描述:切换到指定目录)
cd ~ 或者 cd :回到自己的家目录
cd .. 回到当前目录的上一级目录
4、mkdir指令
mkdir 指令用于创建目录(make directory)
mkdir [选项] 要创建的目录
常用选项 -p :创建多级目录
5、rmdir指令
介绍
rmdir 指令删除空目录
基本语法
rmdir [选项] 要删除的空目录
rmdir 删除的是空目录,如果目录下有内容时无法删除的。
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录
6、touch指令
touch 指令创建空文件
基本语法
touch 文件名称
7、cp指令(重要)
cp 指令拷贝文件到指定目录
基本语法
cp [选项] source dest
常用选项
-r :递归复制整个文件夹
强制覆盖不提示的方法:\cp
如 \cp -r aa/tsst.cpp bb/
8、rm指令
rm 指令移除【删除】文件或目录
基本语法
rm [选项] 要删除的文件或目录
常用选项
-r :递归删除整个文件夹
-f : 强制删除不提示
9、mv指令
mv 移动文件与目录或重命名
基本语法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
七、文件目录指令
1、cat指令
cat 查看文件内容,是以只读的方式打开。
基本语法
cat [选项] 要查看的文件
常用选项
-n :显示行号
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more cat 文件名 | more [分页浏览]
2、more指令
more 指令是一个基于VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键,详见操作说明
基本语法
more 要查看的文件
3、less指令
less 指令用来分屏查看文件内容,它的功能与more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
基本语法
less 要查看的文件
4、> 指令 和 >> 指令
介绍:将指令输出的内如输入到指定的文件当中
指令 和 >> 指令
输出重定向 : 会将原来的文件的内容覆盖
>> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。
基本语法
ls -l >文件 (功能描述:列表的内容写入文件 a.txt 中(覆盖写))
说明:ls -l > a.txt , 将 ls -l 的显示的内容覆盖写入到 a.txt 文件,如果该文件不存在,就创建该文件。
cal >> test.txt //将日历输入到test.txt文件当中
5、echo指令
echo 输出内容到控制台。
基本语法
echo [选项] [输出内容]
echo &PATH //输出环境变量
6、head和tail指令
head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容
基本语法
head 文件 (功能描述:查看文件头 10 行内容)
head -n 5 文件 (功能描述:查看文件头 5 行内容,5 可以是任意行数)
tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。
基本语法
tail 文件 (功能描述:查看文件后 10 行内容)
tail -n 5 文件 (功能描述:查看文件后 5 行内容,5 可以是任意行数)
tail -f 文件 (功能描述:实时追踪该文档的所有更新,工作经常使用)
7、In指令
软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径
基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
例如: In -s /root LinkRoot
注:当我们使用 pwd 指令查看目录时,仍然看到的是软链接所在目录。
8、history指令
查看已经执行过历史命令,也可以执行历史指令
基本语法
history (功能描述:查看已经执行过历史命令)
如果不想全部显示可以指定显示数目
history 10
如果查看到需要继续执行的指令可以使用 !n(行数) 来执行指令。
八、时间日期类
1、date指令
date 指令-显示当前日期
基本语法
date (功能描述:显示当前时间)
date +%Y (功能描述:显示当前年份)
date +%m (功能描述:显示当前月份)
date +%d (功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
设置日期
date -s 字符串时间
date -s "2022-1-10 11:12:00“
2、cal指令
查看日历指令
基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
显示全年日历
cal 2021
九、搜索查找指令
1、find指令
find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法
find [搜索范围] [选项]
如: find /home -name test.txt
find /home -name *.txt //查找txt文件
home大于 20m 的文件(+n 大于 -n 小于 n 等于)
find /home -size +20M
2、locate指令
locaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。
基本语法
locate 搜索文件
特别说明
由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
3、grep和 管道符号 |
grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
- 基本语法
grep [选项] 查找内容 源文件
如: cat test.txt | grep -ni ros //不区分大小写
十、压缩和解压文件
1、gzip/gunzip
gzip 用于压缩文件, gunzip 用于解压的
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
2、zip/unzip指令
ip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
- 基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
- zip 常用选项
-r:递归压缩,即压缩目录
-d<目录> :指定解压后文件的存放目录
3、tar
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
- 基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
- 基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明
十一、组管理和权限管理
1、修改文件所有者
- 指令:chown 用户名 文件名
2、修改文件所在组
基本指令
chgrp 组名 文件名
3、权限的基本介绍
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
- 第 0 位确定文件类型(d, - , l , c , b)d为牡蛎。-无权限 l链接文件 c普通文件
- 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。---User
- 第 4-6 位确定所属组(同用户组的)拥有该文件的权限,---Group
- 第 7-9 位确定其他用户拥有该文件的权限 ---Other
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被执行
[ r ]代表可读(read): 可以读取,ls 查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
案例
ls -l 中显示的内容如下:(记住)
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
第一个字符代表文件类型: 文件 (-),目录(d),链接(l)
其余字符每 3 个一组(rwx) 读(r) 写(w) 执行(x) 第一组 rwx : 文件拥有者的权限是读、写和执行
第二组 rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行第三组 r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行可用数字表示为: r=4,w=2,x=1 因此 rwx=4+2+1=7
1 文件:硬连接数或 目录:子目录数
root 用户
root 组
1213 文件大小(字节),如果是文件夹,显示 4096 字节(注:目录是特殊的文件)
Feb 2 09:39 最后修改日期
abc 文件名
4、chmod
可以修改用户文件和文件夹的权限
语法:chmod +/-rwx 文件/文件夹
-和+减少权限和增加权限 r表示可读w表示可写 x表示执行
在python中可以加入#!/usr/bin/python
再加入可执行的权限可以直接执行文本文件