linux学习笔记(复制)

vim普通模式
/和?用于查找字符串
n继续查找下一个
yy复制一行
p粘帖在下一行,P粘贴在前一行
dd删除一行文本
x删除光标所在的字符
u取消上一次编辑操作(undo)
命令行模式
:w newfile 存为另外一个名为 “newfile” 的文件
:wq 用于存盘退出Vi
:q! 用于不存盘退出Vi
:q用于直接退出Vi (未做修改)

浏览当前文件夹的目录:ls
进入xxx目录、文件夹:cd xxx(之能是当前目录下直属的一级目录one/,二级目录的话不能two/,只能one/two/)
返回到最开始位置:cd
上下键快捷使用已用过的指令
当前目录下创建新的目录:mkdir one/
当前目录下创建新的一组目录:mkdir -p one/two/three
当前目录下创建新的文件:touch hello
复制文件hello到指定目录two:cp hello one/two/
复制目录test到指定目录two:cp -r test one/two/
获得当前目录的绝对地址:当前目录下输入pwd
移动文件到指定目录:mv hello mycode(也可以用绝对地址)
打印文件:cat 文件所在路径
查看帮助:man 函数名,q退出
如果遇到输入只不断显示没有任何反馈的情况,ctrl+c可以中断该过程

最最容易错的是地址问题,绝对地址当然可以随便搞,但不用绝对地址的话,当前目录只能进入当前目录里的一级目录,或者一级子目录/二级子目录/(这个类似绝对地址了)。同样的,复制文件/目录,移动文件,打印文件,创建文件/目录都是这样。

Linux系统学习:

安装指令/模块:
输出图形指令banner:
先安装环境:
$ sudo apt-get update
$ sudo apt-get install sysvbanner
再输入bannner+需要输出的字句

用户操作:
一般我们登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。
su #切换用户
sudo adduser 用户名 #新建用户
cat /etc/group | sort #查看当前用户所在用户组、用户组口令组id(GID)、其他用户。可以采用该方法筛选出有效信息:cat /etc/group | grep -E “shiyanlou”(将sort排序换成grep查找)
su -l 用户名 #用sudo赋予root权限
sudo deluser lilei --remove-home #删除用户
ls -l #查看文件权限

其中文件类型和权限:

变更文件所有者:
sudo chown 现所有者名称 +文件名 #这里名称一定要带地址
变更文件权限:
sudo chmod 600 文件名 #这里名称一定要带地址

目录管理(Linux的目录都是固定的,什么类型文件放在什么目录下,目录名也是固定的,不像window可以手动设置):

打印(cat、tac、nl):
cat是常见的打印,正序,cat -n 文件名:显示行号打印
tac与cat类似,只是倒序而已
最专业的是nl,有以下操作:
-b : 指定添加行号的方式,主要有两种:
-b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
-b t:只列出非空行的编号并列出(默认为这种方式)
-n : 设置行号的样式,主要有三种:
-n ln:在行号字段最左端显示
-n rn:在行号字段最右边显示,且不加 0
-n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)

cd …返回上一级,cd ~返回主菜单, file +文件名查看文件类型

vimtutor:学习vim指令

删除是删除光标处的字符,插入是光标前插入,添加是在这行后添加

删除:删除至下个单词用dw,删除整段用d$,删除整行用dd,连续删除就是一直dd
移动光标:数字加w/e,移到前/后第n个单词,0移至该行行首,w移至下一个单词的首个字母

在光标处添加上一个删除的文本:p

Ctrl+g 显示当前光标所在位置的信息,比如哪一行第几个。gg跳转至文件第一行,G跳转至文件最后一行,行号+G调转至行号对应的行。/字符,向下寻找该字符,n继续寻找下一个;?字符,向上寻找该字符,n继续寻找。

:!+command 用于执行一个外部命令(!是强制执行的意思,下面的r和w是读/写的意思)。其中:w 文件名是将正在编辑的该文件保存到对应文件名中。v进入可视化,移动光标可选择高亮,进而进行保存等操作;

v进入可视化后可以选中按y复制,再用p粘贴

F1调用帮助功能

4.1普通模式
G用于直接跳转到文件尾
ZZ用于存盘退出Vi
ZQ用于不存盘退出Vi
/和?用于查找字符串
n继续查找下一个
yy复制一行
p粘帖在下一行,P粘贴在前一行
dd删除一行文本
x删除光标所在的字符
u取消上一次编辑操作(undo)
4.2插入模式
在 Normal 模式下输入插入命令 i、 a 、 o进入insert模式。用户输入的任何字符都被vim当做文件内容保存起来,并将其显示在屏幕上。

在文本输入过程中,若想回到Normal模式下,按 Esc 键即可。
4.3命令行模式
Normal 模式下,用户按冒号 :即可进入 Command 模式,此时 vim 会在显示窗口的最后一行 (屏幕的最后一行) 显示一个 “:” 作为 Command 模式的提示符,等待输入命令。

:w 保存当前编辑文件,但并不退出
:w newfile 存为另外一个名为 “newfile” 的文件
:wq 用于存盘退出Vi
:q! 用于不存盘退出Vi
:q用于直接退出Vi (未做修改)

变量:
declare tmp #新建一个变量
tmp=shiyanlou #变量赋值等号前后不能有空格
echo KaTeX parse error: Expected 'EOF', got '#' at position 6: tmp #̲读取变量值要在变量名前面加上
unset tmp #变量删除,这里不用加$
变量修改:
变量设置方式 说明
${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据
${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据
${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据
${变量名%%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最长数据
${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串
${变量名//旧的字串/新的字串} 将符合旧字串的全部字串替换为新的字串
变量导出:
命 令 说 明
set 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。

export的范围最小,我们一般设置环境变量都是用export

ls -a查看所有目录,想要改为永久变量添加到/etc/profile即可

查找文件:
whereis+对象名 ##简单快速,查询数据库但whereis 只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)
locate /etc/sh* #查找所有sh开头的文件
locate /usr/share/*.jpg #查找share目录下的所有jpg文件,这里注意两点。一、要用代表jpg文件的名称(?和可以省略文字),二、*要用转义符才行。
备注:locate快而全,查询 /var/lib/mlocate/mlocate.db 数据库来检索信息,但这个数据库和whereis的不一样,是系统定时更新,所以有的时候需要刷新:
sudo apt-get update
sudo apt-get install locate
sudo updatedb

sudo find +地址+ “-name 名称” #find最常用的了,sudo是为了给普通客户临时授予root权限,比如sudo find /etc/ -name *.list 查找/etc/下所有.list文件
find是查找文件最强大的功能,常见的与时间相关的命令参数:
参数 说明
-atime 最后访问时间
-ctime 最后修改文件内容的时间
-mtime 最后修改文件属性的时间
下面以 -mtime 参数举例:
-mtime n:n 为数字,表示为在 n 天之前的“一天之内”修改过的文件
-mtime +n:列出在 n 天之前(不包含 n 天本身)被修改过的文件
-mtime -n:列出在 n 天之内(包含 n 天本身)被修改过的文件
-newer file:file 为一个已存在的文件,列出比 file 还要新的文件名

一个实验:搜索source.list这个文件,把文件所有者改为自己,修改权限为只有自己可读可写
sudo find /etc -name sources.list #用find找到这个文件
sudo chown shiyanlou /etc/apt/sources.list #用chown将文件所有者改为自己 ,这里名称一定要带地址
sudo chmod 600 /etc/apt/sources.list #更改文件权限,这里名称一定要带地址

创建压缩文件:
使用 zip 打包文件夹:
$ cd /home/shiyanlou #进入该目录
$ zip -r -q -e -o shiyanlou.zip /home/shiyanlou/Desktop #-r -q -o都有含义,这里其实可以设置压缩等级,但是更复杂一些不讨论
$ du -h shiyanlou.zip #-h可以显示大小
$ file shiyanlou.zip #
上面命令将目录 /home/shiyanlou/Desktop 打包成一个文件,并查看了打包后文件的大小和类型。第一行命令中,-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-e,代表创建时设置密码-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用 du 命令查看打包后文件的大小。

Linux上面使用更多的是tar,这个可以解压缩大部分其他类型压缩包。
创建一个 tar 包:
$ tar -P -cf shiyanlou.tar /home/shiyanlou/Desktop #cf,后面都是名称+绝对地址
上面命令中,-P 保留绝对路径符,-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后,比如不能写成 tar -fc shiyanlou.tar,可以写成 tar -f shiyanlou.tar -c ~。
解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数):
$ mkdir tardir
$ tar -xf shiyanlou.tar -C tardir #xf,注意,目录前有一个“-C”
只查看不解包文件 -t 参数:
$ tar -tf shiyanlou.tar #tf,
保留文件属性和跟随链接(符号链接或软链接),有时候我们使用 tar 备份文件当你在其他主机还原时希望保留文件的属性(-p 参数)和备份链接指向的源文件而不是链接本身(-h 参数):
$ tar -cphf etc.tar /etc
对于创建不同的压缩格式的文件,对于 tar 来说是相当简单的,需要的只是换一个参数,这里我们就以使用 gzip 工具创建 *.tar.gz 文件为例来说明。
我们只需要在创建 tar 文件的基础上添加 -z 参数,使用 gzip 来压缩文件:
$ tar -czf shiyanlou.tar.gz /home/shiyanlou/Desktop
解压 *.tar.gz 文件:
$ tar -xzf shiyanlou.tar.gz

磁盘管理:
df -h #查看磁盘的容量
du -h #查看目录的容量
dd if=/dev/stdin of=virtual.img bs=1M count=256 #if为inputfile,of为outputfile,bs为单位,count为数值。这个命令是从/dev/stdin中创建256M的虚拟内存给virtual.img
sudo mkfs.ext4 virtual.img #将virtual.img格式化为ext4格式
分盘等操作可详细看实验楼,这里不过多学习

帮助命令:
首先了解内建命令和外部命令的概念,内建命令是shell自带的,比如exit,外部命令是外部定义的,如vim。
查找帮助有两种:
1.Help较简单
bash #进入bash模式
help exit #查看内建命令信息
vim --help #查看外部命令信息
2.man较全面直接
man exit/vim #直接查看,但是内容太多,没有help精简

简单的文本处理:
tr命令可以删除或转化文本
echo ‘hello shiyanlou’ | tr -d ‘olh’

删除 “hello shiyanlou” 中所有的’o’,‘l’,‘h’

echo ‘hello’ | tr -s ‘l’

将"hello" 中的ll,去重为一个l

echo ‘input some text here’ | tr ‘[:lower:]’ ‘[:upper:]’

将输入文本,全部转换为大写或小写输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值