ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux实操篇入门笔记

2022-02-10 01:32:10  阅读:221  来源: 互联网

标签:文件 显示 入门 .. color 行号 实操 Linux 目录


  • Linux网络连接的三种模式

  1. 桥接模式 ,虚拟系统可以和外部系统通讯,但容易造成IP冲突
  2. NAT模式,网络地址转换模式,虚拟系统可以和外部系统通讯,不造成IP冲突 “一般推荐直接使用NAT模式即可”
  3. 主机模式,独立系统
  • 文件目录结构

  • 具体的目录结构(不用背,知道即可)
  1. /bin $\color{red}{[常用]}$ (/usr/bin、/usr/local/bin) 是Binary的缩写,这个目录存放着最常用使用的命令

  2. /sbin $\color{red}{[常用]}$ s就是Super user的意思,这里存放的是系统管理员使用的系统管理程序。

  3. /home $\color{red}{[常用]}$ 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户账户命名

  4. /root $\color{red}{[常用]}$ 该目录为系统管理员,超级权限的用户主目录。

  5. /etc $\color{red}{[常用]}$ 所有的系统管理所需要的配置文件和子目录,例如安装MySQL数据库my.conf等等...

  6. /usr $\color{red}{[常用]}$ 非常重要的目录吗,用户的很多应用程序和文件都放在这个目录,类似于windows下的program目录。

  7. /boot $\color{red}{[常用]}$ 是Linux启动的时候使用的一些核心文件,包括一些连接文件以及镜像文件

  8. /proc $\color{green}{[不能动]}$ 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息

  9. /srv$\color{green}{[不能动]}$ service缩写,该目录存放一些服务器之后需要提取的数据

  10. /sys $\color{green}{[不能动]}$是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs

  11. /dev 是设备管理器 Linux统一把所以硬件映射成文件来管理,类似于windows的设备管理器

  12. /media $\color{red}{[常用]}$linux系统会自动识别一些设备,例如U盘、光驱等等、当识别后,linux会把识别的设备挂载到这个目录下

  13. /mnt $\color{red}{[常用]}$ 系统提供目录是为了让用户临时挂载别的文件系统的,可以将尾部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。

  14. /opt 这是给主机额外$\color{red}{[安装软件]}$所存放的目录,如安装ORACLE数据库、jdk、tomcat就可放到该目录下。默认为空

  15. /usr/local $\color{red}{[常用]}$ 这是另一个给主机额外安装软件所安装的目录.已经安装好的目标目录,一般是通过编译源码方式安装的程序

  16. /var $\color{red}{[常用]}$ 这个目录中存放这在不断昆虫这的东西,习惯将经常修改的目录放在这个目录下。包括各种日志文件

  17. /tmp 这个目录是存放一些临时文件的

  18. /lib 系统开机所需要是最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库

  19. /selinux 【security-enhanced linux】 SELinux是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置。

  20. /lost+found 这个目录一般为空,当系统非法关机,这里存放了一些文件,一般情况隐藏起来的。

总结:在linux世界里,一切皆是文件

  • vi和vim的基本使用

  1. 正常模式

    以vim打开的一个档案就直接进去一般模式(默认模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制,粘贴】来处理你的文件数据

  2. 插入模式

    按下i,I,o,O,A,r,R等任何一个字母之母才会进入编辑模式,一般来说按 i 即可。

  3. 命令行模式

    +输入esc再输入: 这个模式当中,可以提供你相关指令,完成读取,存盘,替换,离开vim,显示行号等的动作则是在此模式中达成的 :wq(保存退出) :q(退出) :q!(强制退出) :wq!(保存并强制退出)

    • 快捷键的使用:$\color{green}{一般模式下输入}$
  4. 拷贝当前行 yy,拷贝当前向下的5行 5yy, 并粘贴(输入p)

  5. 删除当前行 dd,删除当前向下的5行 5dd

  6. 在文件中查找某个单词[命令行下 输入: /关键词,回车查找,输入n就是查找下一个]

  7. 设置文件的行号,取消文件的行号.[命令行下 :set un:set nonu]

  8. 编辑/etc/profile文件,是同快捷键到该文档的 最末行[G]最首行[gg]

  9. 在一个文件中输入“hello”,然后又 撤销这个动作 u

  10. 编辑/etc/profile文件, 并将光标移动到你目标行 输入目标行,再输入 shift+g

  • 关机&重启命令

  1. shutdown -h(halt) now --立刻关机
  2. shutdown -h(halt) 1 --1分钟后关机
  3. shutdown -r(reboot) now --现在重新启动计算机
  4. halt --关机
  5. reboot --现在重启计算机
    sync --把内存的数据同步到磁盘
  • 用户登录和注销

  1. 普通用户登录 ”su - 用户名“ 切换成系统管理员身份
  2. 在提示符下输入logout即可注销用户
  • 用户管理操作

    进入/home/目录下/
  1. 输入:useradd 添加用户

  2. 输入:userdel 用户名 删除用户

  3. 输入:passwd 用户名 即可给用户名设置新密码

  4. 输入:groupadd -g 组名 添加组名

  5. 输入:groupdel 组名 删除组名

  6. 输入:usermod -g 组名 修改组名

    • /etc/passwd文件

    用户(user)的配置文件,记录用户的各种信息 每行的含义:

    $\color{blue} {用户名:口令:用户标识号:组标识号:注释性描述:登录Shell}$

    • /etc/shadow文件
      口令的配置文件 每行的含意:

    $\color{blue}{登录名:加密口令:最后一次修改时间:最小时间间隔:警告时间:不活动时间:失效时间:标志}$

    • /etc/group文件

    组(group)的配置文件,记录Linux包含的组的信息 每行含义
    $\color{blue}{组名:口令:组标识号:}$

  • 运行级别

  1. 多用户状态又网络服务: init 3
  2. 图形界面: init 5
  3. 系统重启: init 6
  • 找回root密码(不需要记&背)

  1. 在登录页面前5秒按下 “e” 进入编辑界面,使用键盘上的上下光标往下移动,找到以 “”Linux16" 开头内容所在的行数”,在行的最后面输入:init=/bin/sh
  2. 接着直接按快捷键:Ctrl+x 进入单用户模式
  3. 接着在光标闪烁的位置中输入: mount -o remount,rm / 回车
  4. 在新的一行最后面输入:passwd
  5. 输入你新密码
  6. 接着在光标闪烁的为重中(最后一行中)输入: touch /.autorelabel(注意touch后面与/有一个空格)
  7. 继续在光标闪烁的位置上,输入:exec /sbin/init(注意exec与/后面有一个空格),等待系统自动修改密码(过程时间有点长)完成后,系统会自动重启,新的密码生效了
  • 帮助指令

    • man获得帮助信息
  1. 基本语法 :man命令或配置文件
  2. 案例 :查看ls命令的帮助信息 man ls
  3. 在linux下,隐藏文件是以 .开头
  4. help指令
    • 基本语法: help命令(功能描述:获得shell内置命令帮助信息)
  • 文件目录指令(基本且重要)

  1. ls(英文全拼:list files): 列出目录及文件名

-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)

-d :仅列出目录本身,而不是列出目录内的文件数据(常用)

-l :长数据串列出,包含文件的属性与权限等等数据;(常用)

  1. cd(英文全拼:change directory):切换目录

使用 mkdir 命令创建 runoob 目录
[root@www ~]# mkdir runoob

使用绝对路径切换到 runoob 目录
[root@www ~]# cd /root/runoob/

使用相对路径切换到 runoob 目录
[root@www ~]# cd ./runoob/

表示回到自己的家目录,亦即是 /root 这个目录
[root@www runoob]# cd ~

表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@www ~]# cd ..

  1. pwd(英文全拼:print work directory):显示目前的目录

-P :显示出确实的路径,而非使用连结 (link) 路径。

  1. mkdir(英文全拼:make directory):创建一个新的目录

mkdir [-mp] 目录名称

-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~

-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

  1. rmdir(英文全拼:remove directory):删除一个空的目录

rmdir [-p] 目录名称

-p :连同上一级『空的』目录也一起删除

  1. touch :创建空文件

基本语法 --touch 文件名称

  1. cp(英文全拼:copy file): 复制文件或目录

-a:相当於 -pdr 的意思,至於 pdr 请参考下 列说明;(常用)

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

-r:递归持续复制,用於目录的复制行为;(常用)

-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

-u:若 destination 比 source 旧才升级 destination !

  1. rm(英文全拼:remove): 删除文件或目录

-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;

-i :互动模式,在删除前会询问使用者是否动作

-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

  1. mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

  • Linux 文件内容查看

    • Linux系统中使用以下命令来查看文件的内容:

  1. cat 由第一行开始显示文件内容

只能浏览文件,而不能修改文件,为了浏览方便,一帮会带上 $\color{red}{管道命令}$|more

-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

-E :将结尾的断行字节 $ 显示出来;

-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;

-T :将 [tab] 按键以 ^I 显示出来;

-v :列出一些看不出来的特殊字符

  1. tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写

  1. nl 显示的时候,顺道输出行号!

-b :指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

-n :列出行号表示的方法,主要有三种:

-n ln :行号在荧幕的最左方显示;

-n rn :行号在自己栏位的最右方显示,且不加 0 ;

-n rz :行号在自己栏位的最右方显示,且加 0 ;

-w :行号栏位的占用的位数。

  1. more 一页一页的显示文件内容

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本的内容。more指令中内置了诺干个快捷键(交互的指令)

空白键 (space):代表向下翻一页;

Enter:代表向下翻『一行』;

/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

:f:立刻显示出档名以及目前显示的行数;

q:代表立刻离开 more ,不再显示该文件内容。

b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

  1. less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

空白键 (space):代表向下翻一页;

Enter :代表向下翻『一行』;

/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

:f :立刻显示出档名以及目前显示的行数;

q :代表立刻离开 more ,不再显示该文件内容。

b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

  1. echo 类似于PHP的echo指令,都是用于字符串的输出
  2. head 只看头几行

-n :后面接数字,代表显示几行的意思

  1. tail 只看尾巴几行

-n :后面接数字,代表显示几行的意思

-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测

  1. >指令和>>指令

>输出重定向和>>追加

  • 基本语法

ls -l >文件 (功能描述:列表的内容写入文件xx.txt中(覆盖写))

ls -al >>文件 (功能描述:列表的内容追加到文件xx.txt的末尾)

cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)

echo “内容” >> 文件

  1. ln(英文全拼:link files):功能是为某一个文件在另外一个位置建立一个不同的链接

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接) (常用)

-v 显示详细的处理过程

  1. history:查看以往的曾经输入的命令列表
  • 时间日期类

基本语法 date “+%Y-%m-%d% %H:%M:%S”(功能描述:显示-年月日时分秒)

时间方面-参数

% : 印出 %

%n : 下一行

%t : 跳格

%H : 小时(00..23)

%I : 小时(01..12)

%k : 小时(0..23)

%l : 小时(1..12)

%M : 分钟(00..59)

%p : 显示本地 AM 或 PM

%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

%S : 秒(00..61)

%T : 直接显示时间 (24 小时制)

%X : 相当于 %H:%M:%S(功能描述:显示-时分秒)

%Z : 显示时区

时间方面-参数

%a : 星期几 (Sun..Sat)

%A : 星期几 (Sunday..Saturday)

%b : 月份 (Jan..Dec)

%B : 月份 (January..December)

%c : 直接显示日期与时间

%d : 日 (01..31)

%D : 直接显示日期 (mm/dd/yy)

%h : 同 %b

%j : 一年中的第几天 (001..366)

%m : 月份 (01..12)

%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)

%w : 一周中的第几天 (0..6)

%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)

%x : 直接显示日期 (mm/dd/yy)

%y : 年份的最后两位数字 (00.99)

%Y : 完整年份 (0000..9999)

cal:查看日历指令

  • 搜索查找类

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

基本语法:find /(斜杆指查询所有) -参数 目标

-name 文件名称

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-user<用户名>:查询用户名为xx的目标文件

locate:快速定位文件路径,会建立自己的一个数据库,无需遍历整个文件系统,查询快,第一次运行前““必须使用updatedb指令””创建locate数据库

  1. 基本语法:updatedb 回车 locate 文件名称

总结find和locate的区别说明:

locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:updatedb


which:指令会在环境变量$PATH设置的目录里查找符合条件的文件

  1. 基本语法:which ls(命令符)

-n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

-p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。

-w  指定输出时栏位的宽度。

-V  显示版本信息。

grep过滤指令&管道符号 | :表示将前一个命令的处理结果输出传递给后面的命令处理。

基本语法:grep [参数] 查找内容 源文件

  1. -n 功能显示匹配行及行号
  2. -i 功能忽略字母大小写
  • 压缩和解压类

  1. gzip/gunzip 指令: --gzip用于压缩文件,gunzip用于解压的

基本语法:

gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)

gunzip 文件.gz (功能描述:解压缩文件命令)

  1. zip/unzip指令: zip用于压缩文件,unzip用于解的,在项目打包发布中很有用

基本语法:

zip [参数] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)

unzip [参数] XXX.zip (功能描述:解压缩文件)
-r:递归压缩,即压缩命令
-d《目录》:指定解压后文件的存放目录

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

基本语法:
tar [参数] XXX.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)

-c 功能产生.tar打包文件

-v 功能显示详细信息

-f 指定压缩后的文件名

-z 打包同时压缩

-x 解包.tar文件


总结打包和压缩

  1. 打包:将一堆文件或目录什么的变成一个总的文件。

  2. 压缩:将一个大的文件经过某种压缩算法变成一个小文件。

    为什么要区分这两个概念呢?因为Linux中的很多压缩程序只能针对一个文件进行压缩,所以当你想要压缩一大堆文件时,首先需要打个包,然后压缩。


标签:文件,显示,入门,..,color,行号,实操,Linux,目录
来源: https://www.cnblogs.com/WuCoke/p/15877589.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有