yeefire

Linux 基础 学习 笔记
前言文章在2018年11月13日16:31:59进行了更新本着对自己学习到的知识巩固和想充实一下博客中的内容的目的...
扫描右侧二维码阅读全文
11
2018/11

Linux 基础 学习 笔记

前言

文章在2018年11月13日16:31:59进行了更新
本着对自己学习到的知识巩固和想充实一下博客中的内容的目的,便有了这篇博文。我会持续更新我学习到的Linux一些简单指令在这篇文章上,希望志同道合的小伙伴能与我一同学习,如果文章中出现问题的话请留言,我会积极更改错误,共同进步。


磁盘分区方案

在Windows操作系统中,是先将物理地址分开,再在分区上建立目录.在Windows操作系统中,所有路径都是从盘符开始,如C://program file
Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始,之后向下进行目录分区,如boot分区、swap分区、root分区等。

下图是分区的目录及其作用:
分区.png

下面是最常用的分区方案:

目录建议分区大小分区格式作用描述
/20G~30Getx4系统根目录
/swap1G~2Gswap交换空间(虚拟内存)
/boot300Mext4该分区存放着Linux系统启动时的引导文件,默认情况将GRUB引导器安装在此处。
/tmp5G左右ext4存放用户产生的临时文件,重启后一般不会保存
/home20G左右ext4用户的主目录分区,桌面,文档,图片等会存放在这里

Linux中常用命令

1、电源控制

电源选项命令
重启1、reboot 立即安全关闭所有运行的程序并重新启动 <br/>2、shutdown -r now 立即重启<br/>3、init 6 立即重启(推荐使用)
关闭1、halt 立即关机 <br/>2、init 0 立即关机(推荐使用)<br/>3、shutdown -h now 立即关机<br/>4、shutdown -h 10 10分钟后自动关机
init命令浅谈
init我认为它是管理启动的高富帅,推荐使用!

2、cd命令 切换工作目录

cd ~                             #切换到home目录
cd /usr/bin/                     #切换到/usr/bin/目录
cd ..                            #切换到当前目录的上一层

3、ls命令 显示当前目录下的所有内容

命令用法:ls [选项] [文件或目录]
选项:

-a 显示所有内容,包括隐藏文件及目录
-h 显示文件大小
-l 显示详细的信息
-d 显示本目录的信息,而非目录下的资料信息
-c 显示文件或目录属性最后修改的时间
-u 显示文件或目录最后被访问的时间
-t 以修改时间顺序的方式排序(默认不填则以文件名称字母先后顺序排序)
ls 
ls -h             #显示文件大小
ls -l             #显示详细信息
……

ls.png


4、pwd命令 显示当前工作目录的路径

sh-3.2# pwd
/Users/sirius/Desktop/temp
sh-3.2# cd ..
sh-3.2# pwd
/Users/sirius/Desktop
sh-3.2# cd ~
sh-3.2# ls
.CFUserTextEncoding    .sh_history
.forward        Library
sh-3.2# pwd
/var/root
sh-3.2# 

5、touch命令 创建或更新文件时间

最常用使用:
touch file1
如果file1已经存在,则更新文件时间为此时此刻的系统时间。如果file1不存在则在当前目录下创建一个名字是file1的空文件。


6、mkdir命令 创建目录。

mkdir temp 在当前目录下创建一个名字为"temp"的空目录。
如果要创建多级目录,比如/temp/ssr/yeefire的目录需要在选项里面加-p
例子:mkdir -p temp/ssr/yeefire


7、rm命令 删除文件或目录

这个命令就有点厉害了!因为它还能快速删除所有垃圾文件,使用命令:sudo rm -rf /即可一键清除~
注意:rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm -rf *
用法:rm [选项] [文件或目录]

rm test.txt             #删除当前目录下的test.txt文件
rm -rf temp             #删除tenp目录及文件夹内的所有文件,没有提示而且强制删除

选项:

-f 不提示,并且强制删除
-i 再删除前,提示是否删除
-r 递归删除目录下的所有内容

8、cp命令 复制文件与目录

用法: cp[选项] 源 目标
选项:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式
-f:如果文件已存在则进行覆盖并且不给出提示


9、mv命令 用来移动或重命名文件、目录

用法:mv [选项] 源文件或目录 目标文件或目录
选项:
-b :若需覆盖文件,则覆盖前先行备份
-f :强制进行操作,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在时,就会询问是否覆盖
-u :若目标文件已经存在,且目标文件比较新时,才会进行替换
-t :将所有参数指定的源文件或目录 移动至 指定目录
例子:rm test.txt /temp 将test.txt文件移动到/temp目录下


10、find命令 用来搜索文件或目录

用法:find [选项] [路径] [参数]
选项:

`-name` 按照文件名查找文件,注意要用引号将文件名引起来
`-perm` 按照文件权限来查找文件
`-prune `使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略
`-user` 按照文件属主来查找文件
`-group` 按照文件所属的组来查找文件
`-mtime -n +n` 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项
`-nogroup` 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在
`-nouser` 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
`-newer file1 ! file2` 查找更改时间比文件file1新但比文件file2旧的文件

参数:

`-pathname` find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录
`-print` find命令将匹配的文件输出到标准输出
`-exec` find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和;之间的空格
`-ok` 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行

例子:
1、find . -name "test*" 在当前目录下查找文件名为“test*”的所有文件名
find-name命令.png

2、find / -iname "test" 在/根目录下不区分大小写查找名为test的文件
find-iname不区分大小写查找.png

3、在此处有更详细的使用find命令的例子


11、du命令 计算文件或目录的容量

用法:du [选项] [文件或目录]
选项 :

-h 人性化的显示文件或目录所占用的大小(K、M、G)
-s 仅显示该文件/目录的占用空间


12、tar命令 打包、压缩、解压工具

用法:tar [主选项+辅选项+f] 文件或目录
主选项(每条命令只能有一个主选项):

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

辅选项:

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

:zap:注意在选项的末尾一定要加上-f并且后面要立即接上文档名,不要再加任何参数,也就是说-f选项要放到所有选项的最后面!

例子:
1、tar -czf bag.tar.bz2 * 将当前目录下的所有文件以bzip压缩形式压缩到bag.tar.bz2中
tar-czf.png

2、tar -xzvf bag.tar.bz2 将该压缩包的内容解压缩到当前目录下
tar -xzvf.png

未完待续2018年11月13日16:31:53

一些补充

<span id="jump_init"></span>

1、关于init命令

init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。在系统启动时会第一个启动init并按照/etc/inittab 配置文件中的运行级启动。什么是运行级?不同的运行级定义如下:

运行级作用
0关机(不要把initdefault设为0)
1单用户
2多用户,关闭联网功能
3多用户
4不使用的
5X11 (xwindow) 图形化界面模式
6重启(不要把initdefault设为6)

Linux init配置文件位置在 /etc/inittab 内容如下:


# inittab       This file describes how the INIT process should set up  
#               the system in a certain run-level.  
#  
# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>  
#               Modified for RHS Linux by Marc Ewing and Donnie Barnes  
# 
# Default runlevel. The runlevels used by RHS are:  
#   0 - halt (Do NOT set initdefault to this)  
#   1 - Single user mode  
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)  
#   3 - Full multiuser mode  
#   4 - unused  
#   5 - X11  
#   6 - reboot (Do NOT set initdefault to this)  
#   
id:3:initdefault:

(不过在fedora29中已经不用这个配置文件了,但从哪个版本什么时候不用的,这个我还不太清楚:joy::joy:)


Last modification:November 13th, 2018 at 04:32 pm
If you think my article is useful to you, please feel free to appreciate

6 comments

  1. 远航

    链接:https://www.nowcoder.com/questionTerminal/00dad2d2c62f4d66868a6ec37ea8dc8e?toCommentId=62146
    来源:牛客网

    shutdown: 这个命令会通知系统内的各个进程,并通知关闭一些服务。
    shutdown -h now 立刻关机 常用
    shutdown -h 20:25 指定关机的时间
    shutdown -h +10 10分钟后关机
    shutdown -r now 系统立刻重启
    shutdown -r +30 'the system will reboot' 显示题是信息给所有在线用户
    shutdown -k now 'system will reboot' 仅仅发出要重新启动的信息,而不会关机或者重启
    --------------
    reboot : 删除所有进程,不平稳终止。 ‘sync;sync;sync;reboot’
    ------
    halt: 不理会目前系统状态,执行硬件关机。
    ---
    init: 用于切换系统的运行级别,切换的工作是立即完成的。
    init 0 关机
    init 3 命令行模式
    Init5 含有图形界面
    init 4重启

    1. yeefire
      @远航

      解释的简洁明了,谢谢。

  2. 小白

    一般情况下,现在都是根和efi分区,可能还有home。swap只要内存大可以不用,而/boot(即efi)是必须要有的,他是为了引导系统,如果没有的话则会开机时找不到系统报错。

  3. yeefire

    boot分区就是操作系统的内核及在引导过程中使用的文件,一般是几年前的版本要求划分的一个区,大小为100MB左右,但现在的新版本都不需要对这个分区进行单独划分,也就是说现在完全可以不分/boot。

  4. 张津瑞

    linux有根和swap这两个分区,整个系统就可以启动

    1. yeefire
      @张津瑞
      该评论仅登录用户可见

Leave a Comment

召唤看板娘