一切皆文件
在linux操作系统之中,我们应该明白一个“一切皆文件”法则,这样能够更好的帮助我们进行后期的学习,也就是对于任何的文件,命令,网卡,磁盘等都可以满足文件的打开,读,写,关闭的操作。
最为重要的基础指令
对于Linux的一系列操作命令来说,不仅繁琐且非常的复杂,因此我们通过联机手册来获取帮助进行查看man [选项] 命令
- 小技巧:需要自行实现的命令被称为外部命令;而系统自动进行的则称为内置命令!
1. 常用命令
- man命令
- -k 根据关键字搜索联机帮助!
- -a 将所有的章节都显示出来,按下q表示退出!
- pwd命令
功能:显示用户当前所在的目录
- ls 指令
功能:对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其他信息。
常用选项:
- -a 列出目录下的所有文件(all的缩写),包含以.开头的隐含文件!
- -l 显示此文件或目录的详细信息
- -r 将目录或文件进行反序排序
- -t 按照时间顺序进行排序
- -R 以递归显示的方法列出子目录下的文件
- -d 目录本身的信息
- -1 表示以一列的形式来进行展示,一行只有一个文件
ls 通配符
1 (* )显示以* 之前文件开头的所有文件目录,通配符 * 表示显示所有以file开头的文件
2 (?)表示?这个位置不同的文件和目录,则表示只查找?位置上不同的文件和目录进行显示。
- cd跳转路径
功能:更改路径,改变工作目录,将当前的工作目录改变到指定的目录之下
常用选项:
- cd … :返回上级目录
- cd /home/linux/ : 绝对路径
- cd …/day02/ :相对路径
- cd ~ :进入用户家目录
- cd :后面什么都不跟,也直接进入到家目录
- cd - :访问最近访问的目录
2. 目录和文件操作
- 创建
语法:mkdir 目录名
功能:在当前目录下创建一个目录
常用选项:
- -p (–parents)可以是一个路径名称,此时若路径中的某些目录尚未创建,加上此则立即创建那些尚不存在的目录,即一次可以创建多个目录。
此操作表示创建目录b后在b之中创建c目录,再在c目录之中创建目录d。
单纯在a目录中创建b。
- 删除
rmdir是一个和mkdir相对应的命令,mkdir是创建目录,而rmdir则是删除目录
功能:删除空目录
常用选项:
- rmdir[-p][dirName]
当子目录被删除后,如果父目录也变为空目录的话,则连带父目录一同删除。
rm命令的话,则可以同时删除文件或者目录 - rm [-f-r] [dirName/dir]
功能:删除文件或目录
常用选项: - -f 即使⽂文件属性为只读(即写保护),亦直接删除
- -r 删除目录及其下所有⽂文件
- 移动(重命名)
mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或目录。
功能:
- 当第⼆个参数类型是文件时, mv命令完成文件重命名,此时,源⽂件只能有⼀个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标⽂件名。
- 当第⼆个参数是已存在的目录名称时,源⽂文件或目录参数可以有多个, mv命令将各参数指定的源文件均移⾄至目标目录中。
- 复制
语法:cp [选项] 源文件或目录目标文件或目录
功能:复制文件或者目录
说明:cp指令用于复制文件或者目录,如果同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到此目录之中。
常用选项:
- -f 强⾏行复制⽂文件或目录, 不论文件或目录是否已经存在
- -i 覆盖⽂文件之前先询问⽤用户
- touch指令
功能:touch命令参数可以更改文档或者目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件,更多的被使用于创建一个新文件。
常用选项:
- touch 直接加文件名
- 查看文件内容指令
- cat
功能:查看目标文件的内容
- head
用来显示档案的开头至标准的输出之中
功能:默认head命令打印其相关文件的开头10行
常用选项: - -n(行数),表示所要显示的行数
- tail
用来显示档案的结尾至标准的输出之中
功能:用于显示指示文件末尾的内容,不指定文件时,作为输入信息进行处理,常用查看日志信息,并且可以不断刷新,使你看到最新的文件内容。
常用选项: - -f 循环读取
- -n<⾏数> 显⽰行数
- wc 统计打印的行
功能:统计我们所打印出的文件信息是多少行,一般和cat,more等共用
常用选项: - -l 表示一行只显示一个
3. vim指令
- 第一个命令 在终端界面上 输入
vim [文件名]
旨在创建一个新的项目,之后会自动进入我们所创建到的这个项目之中。 - 第二个命令 要想在此项目之中进行插入操作,也就是我们平时敲代码之中的写入操作,我们只需要按
i
就可以进行写入操作了。 - 第三个命令 书写完成之后按
Esc
进行退出编辑模式,也就是我们所说到的书写模式。 - 第四个命令 书写完成之后就需要进行保存和退出,那也就需要我们按
:
,之后按wq
进行保存,或者分步进行,先按w
,之后再重复上述步骤后按q
。
- vim不同位置插入的基本操作
i
插入到光标当前位置处I
插入到光标当前行的行首位置处A
插入到光标当前行的末尾进行追加
- vim的复制粘贴撤销替换操作
yw
复制光标位置的完整单词nyy
复制光标位置开始的n行y$
复制光标当前位置到行尾y^
复制光标当前位置到行首
————————————————————p
粘贴u
撤销上一步操作ctrl + r
重做此操作
————————————————————ndd
删除当前光标位置开始的总共n行D
删除光标位置到当前行的行尾R
从光标位置开始进行替换,按Esc
结束dG
删除从当前行到文件的结尾位置
————————————————————:%s/old/new/
替换操作,一行如果有多个的话,则只替换第一个找到的:%s/old/new/g
替换操作,不论一行有多少个,全部进行替换:3,5s/old/new/g
替换操作,替换从第三行到第五行的所有存在的
:$
在查看一个文件时候,按此操作,则直接移动到文件的最后位置。
- vim块可视化操作
Ctrl + v
块可视化操作v
字符可视化操作shift + v
行可视化操作:xxx.h
把xxx.h的内容放到目前光标所存在的位置处,一般用于包含头文件。
————————————————————
加注释操作:
ctrl + v
进入块可视化- 选中你要注释的行
I
按大写的i后输入//
- 最后
Esc
操作进行退出
4. 用户管理操作
Linux下有两种用户:超级用户(root),普通用户;超级用户的命令提示符是#
,普通用户的命令提示符是$
。
- 超级用户:可以在Linux系统下做任何的事情,不会受到限制。
- 普通用户:在Linux下做有限的事情。
- 创建删除和修改切换用户
useradd 用户名
表示创建一个用户id 用户名
查看当前用户名的具体信息/home/用户名
表示家目录 之后ls -a
将能够查看配置信息passwd
设置密码,如果自己练习的话尽可能地把密码设置简单一些- 等我们创建好用户后,系统会在
/etc/passwd
中增加一条记录,来记录此用户的信息;而会在/etc/shadow之中保存我们设置好的密码
———————————————————————— userdel 用户名
删除此用户-r
同时删除用户的家目录usermod
修改用户信息-d
修改用户的家目录
su - 用户
从当前用户切换到需要切换的用户,切记切换之后要退出,否则会引起不断的递归操作
- 创建组加入组操作
groupadd
创建组操作usermod -g group1 user1
将user1 加入到group1之中
usermod -g group1 user2
将user2 也加入到group1之中sudo
此操作表示以自己的身份去运行其他用户身份才能够运行的命令
如这样的操作,如果用超级用户进行了关机操作,是没有办法用user1的命令去取消关机的,如果需要完成这一操作,是需要在相关文件之中进行配置,给予user1一定的权限。
- /etc/下的passwd和shadow文件操作
其中前面的w表示他的用户名,x表示密码占位符,/home/w2
表示家目录,/bin/bash
表示当前的状态是可以登录的,若是上面/nologin
的话,则表示此用户无法进行操作。
而shadow
之中所存放的则是w用户乱码密码!