`

linux命令复习(一)

阅读更多
linux 系统的命令:
ls列出当前目录下的所有文件,文件夹。
-a 显示所有文件
-l 显示详细信息
-R 显示递归子目录结构
-ld 显示目录和链接信息
file 文件查看当前文件的类型

uname显示当前系统的名称
-a 所有信息
-r 版本
tag键就可以简化命令的输入:
1)自动补全命令
2)自动补全文件名
查看输入命令的历史记录:
使用上下按键查看之前的命令
使用history命令查看历史记录

!!重复前一个命令
!字符  执行重复前一个 已字符开头的命令
!-n   重复n个命令之前的命令

ctrol+r 搜索之前的命令
按esc之后按.键 重新调用前一个命令中的参数

命令行通配符
*匹配零个或多个
?匹配任意一个字符
[0-9]匹配任意一个数字范围
[abc]匹配列表里任何字符
[^abc]匹配列表以外字符

su - 切换到root用户
sudo 普通用户使用管理员用户身份运行命令
id 显示当前用户信息
passwd 修改当前用户密码


linux文件系统的结构
linux 文件系统为一个倒转的单根树状结构
文件系统的根为“/”
文件系统严格区分大小写
路径使用“/”分割,(windows中使用“\”)

当前工作目录
每一个shell或系统进程都有一个当前工作目录
使用pwd命令显示当前的工作目录

文件名称
文件的名称大小写敏感
名称最多可以为255个字符
除了正斜线外,都是有效字符
通过touch命令可以创建一个空白文件或者更新已有文件的时间
以“.”开头的文件为隐藏文件

绝对路径与相对路径
绝对路径 :以“/”开头,地柜每级目录直到目标的路径。不受当前所在
工作目录限制
相对路径:以当前目录为起点,达到目标的路径。受当前所在目录限制。

cd命令可以用来切换目录
上一级 ".."
当前目录“.”
用户家目录“~”
上一个工作目录“-”

复制文件、目录
使用cp命令复制文件或目录
cp 源文件(文件夹)目标文件(文件夹)
-r 递归复制整个目录
-v 显示详细信息

归档,压缩
命令zip用以压缩文件
zip linux.zip linux_cmd
命令unzip用以解压缩文件
unzip linux.zip
命令gzip用以压缩文件
gzip linux.net
命令tar用以归档文件(打包命令不是压缩命令。把一些文件打包成一个文件)
tar -cvf out.tar linuxcast  
tar -xvf linux.tar
tar -cvzf backup.tar.gz /etc
-z参数将归档后的文件进行gzip压缩减少大小

查找
命令locate用以快速查找文件、文件夹
locate keword
此命令需要预先建立数据库,数据库默认每天更新一次,可用update命令手工建立,更新数据库

命令find用以高级查找文件,文件夹
find 查找位置 查找参数
如:
find . -name *linuxcast
find / -name *.conf
find / -perm 111
find / -type d
find / -name “a*” -exec ls -l{} \;
-name
-perm
-user
-group

vi、vim文本编辑器
vi是一个命令行下的文本编辑工具、支持绝大多数操作系统,并且功能已经十分强大。
linux中知名的文本编辑器还有emacs,他得功能比vim还要强大。
vim
绝大多数linux系统上均装有vim,vim比vi得功能更为强大,所以建议大家使用vim而非
vi,两者使用方法相同。

命令vim可以启动vim编辑器
一般我们通过vim + 目标文件路径的形式使用vim
如果目标文件存在,则在vim文件打开文件
如果目标文件不存在,则vim新建并打开文件

vim拥有三种模式:
命令模式(常规模式)
vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)。
命令模式下可以通过键入不同的命令完成选择、复制、粘贴、撤销等等操作。
插入模式
在命令模式中按“i”键,即可进入插入模式,在插入模式可以输入编辑文本的内容,使用esc键可以返回命令模式。
ex模式
在命令模式中按“:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim。

命令模式常用的命令如下:
i 在光标前插入文本
o 在当前行的下面一行插入新行
dd 删除整行
yy 将当前行的内容放入缓冲区(复制当前行)
n+yy 将n行的内容放入缓冲区(复制n行)
p 将缓冲区中得文本放入光标后(粘贴)
u 撤销上一个操作
r 替换当前字符
ex模式下常用的命令如下:
:w 保存当前修改
:q 退出
:q! 强制退出,不保存当前修改
:x 保存并退出,相当于:wq
:set number显示行号
:!系统命令 执行一个系统命令并显示结果
:sh 切换到命令行,使用ctrl+d切换会vim

磁盘基本概念
cylinder(柱面)
sector(扇区)
head(磁头)

磁盘在LINUX中得表示
Linux所有设备都被抽象为一个文件,保存在/dev目录下。
设备名称一般为hd[a-z]或sd[a-z]([a-z]为分区号),如hda,hdb,sda,sdb
IDE设备的名称未hd[a-z],SATA、SCSI、SAS、USB等设备的名称为sd[a-z]

分区概念
将一个磁盘逻辑的分为几个区,每个区当做独立磁盘,以方便使用管理。
不同分区用:设备名称+分区号 方式表示,sda1 、sda2。
主流的分区机制分为MBR和GPT两种。
MBR
MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC
设备。
MBR支持32bit和64bit系统
MBR支持分区数量有限
MBR只支持不超过2T的硬盘,超过2T的硬盘将之恩给你使用2T空间(有第三方解决方法)
MBR结构
前416引导代码部分,接下来4个16字节是分区表,剩下的两个字节启动标识
(55hAAh)
MBR分区
主分区
最多只能创建4个主分区
扩展分区
一个扩展分区会占用一个主分区位置
逻辑分区
linux最多支持63个IDE分区和15个SCSI分区


GPT(GUID Partition Table)是一个较新的分区机制,解决了MBR得很多缺点。
*支持超过2T的硬盘
*向后兼容MBR
*必选使用64bit系统
*Mac、Linux系统都能支持GPT分区格式
Windows7 64bit、windowsServer2008 64bit支持GPT

FDISK分区工具
fdisk是来自IBM的老牌分区工具,支持绝大多数操作系统,几乎所有的Linux
的发行版本都装fdisk,包括在Linux的rescue模式下的依然能够使用。

fdisk是一个基于MBR的分区工具,所以如果需要使用GPT,则无法使用fdisk进行
分区。

fdisk命令只有具有超级用户权限才能够运行
使用fdisk -I可以列出所有安装的磁盘进行其分区信息
使用fdisk/dev/sda可以对目标磁盘进行分区操作
分区之后需要使用partprobe命令让内核更新分区信息,否则需要重启才能识别
新的分区
/proc/partitions文件也可用来查看分区信息。

文件系统
操作系统通过文件系统管理文件及数据,磁盘或区分需要创建文件系统之后
才能够为操作系统使用,创建文件系统的过程又称之为格式化。

*没有文件系统的设备又称之为裸设备。
*常见的文件系统有fat32、NTFS、ext2、ext3、ext4、xfs、HFS等
*文件系统之间的区别:日志、支持的分区大小、支持的单个文件大小、性能等。
windows下的主流文件系统是:NTFS
Linux下的主流文件系统是:Ext3、Ext4。

MKE2FS
命令mke2fs用来创建文件系统
mke2fs -t ext4/dev/sda3

常用的参数:
-b blocksize 指定文件系统块大小。
-c 建立文件系统时检查坏损块
-L label 指定卷标
-j 建立文件系统日志

命令mkfs也可用于创建文件系统,相较于mke2fs简单,但是支持的参数较少,不能进行
精细化的控制。
*mkfs.ext3 /dev/sda3

命令dumpe2fs可以用来查看分区的文件系统信息
dumpe2fs /dev/sda2

JOURNAL日志
带日志的文件系统(ext3、ext4)拥有较强的稳定性,在出现错误时可以进行恢复。
使用带日志的文件系统,文件系统会使用一个叫做“两阶段提交”的方式进行磁盘操作,
当进行磁盘操作时,文件系统进行一下操作:
(1)文件系统将准备进行的事务的具体内容写入日志
(2)文件系统进行操作
(3)操作成功后,将事物的具体内容从日志中删除
这样做的好处是,当事物执行的时候如果出现意外(如断电或磁盘故障)
可以通过查询日志进行恢复操作。缺点是回丧失一定的性能(额外的日志读写操作)。

命令e2label可以用来为文件系统添加标签
e2label /dev/sda2 显示sda2的系统标签
e2label /dev/sda2 LINUXCASAT将sda2的系统标签设置为LINUXCAST

命令fsck用来检查并修复损坏的文件系统
fsck /dev/sda2
*使用-y参数不提示而直接进行修复。
*默认fsck会自动判断文件系统类型,如果文件系统损坏较为严重,请使用
—t参数指定文件系统类型
*对于识别未文件的损坏数据(文件系统无记录),fsck会将该文件放入
lost+found目录
系统启动时会将磁盘进行fsck操作。

挂在操作
磁盘或分区创建好文件系统后,需要挂载到一个目录才能够使用。
windows或Mac系统会自动挂载,一旦创建号文件系统后回自动挂在到系统上,
windows上称之为C盘,D盘等。
linux需要手工进行挂载操作或配置系统进行自动挂载。

mount命令
在linux系统中,我们通过mount命令将格式化好的磁盘或分区挂载到一个
目录上。
mount /dev/sda3a(要挂载的分区) /mnt(挂载点)
常用参数:
不带参数的mount命令会显示所有已挂载的文件系统
-t 指定文件系统的类型
-o 指定挂载选项
ro,rw以只读或读写形式挂载,默认是rw
sync 代表不使用缓存,而是对所有操作直接写入磁盘。
async 代表使用缓存,默认是async
noatime 代表每次访问文件时不更新文件的访问时间
atime 代表每次访问文件时更新文件的访问时间
remount 重新挂载文件系统。

命令umount用来卸载已挂载的文件系统,相当于windows中的弹出
umount 文件系统/挂载点
umount/dev/sda3 == umount/mnt
如果出现device is busy 报错,则表示该文件系统正在被使用,无法卸载,
可以使用以下命令查看使用文件系统的进程:
fuser -m /mnt
也可使用命令lsof查看正在被使用的文件:
lsof /mnt

自动挂载
配置文件/etc/fstab用来定义需要自动挂载的文件系统
fstab中每一行挂载配置,格式如下:
*要挂载的设备也可以使用LABEL进行识别,使用LABEL=LINUXCAST取代/dev/sda3
*mount -a命令会挂载所有fstab中定义的自动挂载项。

获取帮助
linux提供了极为详细的帮助工具及文档,几乎所有命令都可以使用-h
或--help参数获取使用方法、参数信息等。

man命令式Linux中最为常用的帮助命令,将要获取帮助的命令作为参数
运行man命令就可以获取相应的文档帮助。
man -k 关键字用来查询包含该关键字的文档。

info 与man类似,但是提供的信息更为详细深入,以类似网页的形式显示。
man 与info都可以通过“/+关键字”方式进行搜索。

用户、组
当我们使用Linux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份
运行,用户限制使用者或进程可以使用、不可以使用哪些资源。
组用来方便组织管理用户
*每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名
*每个用户属于一个主组,属于一个活多个附属组
*每个组拥有一个GroupID
*每个进程以一个用于身份运行,并受该用户可访问的资源限制
*每个可登录用户拥有一个指定的shell

用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。
用户分为以下三种:
-root用户(ID为0的用户为root用户)
-系统用户(1-499)
-普通用户(500以上)
系统中的文件都有一个所属用户及所属组
使用id命令可以显示当前用户的信息
使用passwd命令可以修改当前用户密码

相关文件
/etc/passwd 保存用户信息
/etc/shadow 保存用户密码(加密的)
/etc/group 保存组信息

查看登录的用户
命令whoami显示当前用户
命令who显示有哪些用户已经登录系统
命令w显示有哪些用户已经登录并且在干什么

创建一个用户
命令Useradd用以创建一个新用户
useradd nash_su
这个命令会执行以下操作:
1,在/etc/passwd中添加用户信息
2,如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中
3,为用户建议一个新的家目录/home/nash_su
4,将/etc/skel中得文件复制到用户的家目录中。
5,建立一个与用户用户名相同的组,新建用户默认属于这个同名组
命令useradd支持以下参数:
-d 家目录
-s 登录shell
-u userid
-g 主组
-G 附属组
也可以通过直接修改/etc/passwd的方式实现,但是不建议

修改用户信息
命令usermod用来修改用户信息
usermod 参数 username
命令usermod支持以下参数:
-l 新用户名
-u 新userid
-d 用户家目录位置
-g 用户所属主组
-G 用户所属附属组
-L 锁定用户使其不能登录
-U 解除锁定

删除用户
命令userdel用以删除指定用户
userdel nash_su(保留用户的家目录)
userdel -r nash_su(同时删除用户的家目录)


几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类、管理用户。
一般来讲,我们使用部门、职能或地理区域的分类方式来创建使用组。
每个组都有一个组ID
组信息保存在/etc/group中
每个用户拥有一个主组,同时还可以拥有最多31个附属组

创建、修改、删除组
命令groupadd用以创建组:
groupadd linuxcast
命令groupmod用以修改组信息:
groupmod -n newname oldname 修改组名
groupmod -g newGid oldGid 修改组ID
命令groupdel用以删除组:
groupdel linuxcast

权限
权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。
系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制
来限制哪些用户、哪些组可以对特定文件进行什么样的操作。
每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户
的权限大,该进程拥有的权限就大。

文件权限
Linux中,每个文件拥有三种权限以下三种权限
权限          对文件的影响         对目录的影响
r(读取)       可读取文件的内容     可列出目录内容
w(写入)       可修改文件内容       可在目录中创建删除文件
x(执行)       可以作为命令执行     可访问目录内容
目录必须拥有x权限,否则无法查看内容

UGO
Linux权限基于UGO模型进行控制:
U代表User,G代表Group,O代表Other
每一个文件的权限基于UGO进行设置
权限三个一组(rwx),对应UGO分别设置
每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件所属用户或所属组
的使用O权限
命令ls -l 可以查看当前目录下文件的详细信息:

-rw-r--r--@ 1 mjc  staff  15166  1 15 19:33 linux_cmd.txt

-rw-r--r--  UGO 

1         链接数量
mjc       U:所属用户
staff     G:所属组
15166     大小
1 15 19:33 时间
linux_cmd.txt 文件名

修改文件所属用户、组
命令chown用以改变文件的所属用户。
chown nash_su linuxcast.net
-R参数递归的修改目录下的所有文件的所属用户
命令chgrp用以改变文件的所属组
chgrp nash_su linuxcast.net
-R参数递归的修改目录下的所有文件的所属组。

修改权限:
命令chmod用以修改文件的权限
chmod 模式 文件
模式为如下格式:
u,g,o分别代表用户、组和其他。
a可以代指ugo
+ -代表假如或删除对应的权限。
r w x 代表三种权限。

命令chmod也支持以数字方式修改权限,三个权限分别有三个数字表示
-r = 4
-w = 2
-x = 1
使用数字表示权限时,魅族权限分别为对应数字之:
rw = 4+2 = 6
rwx =4+2+1 = 7
r-x = 4+1 = 5

rz命令 复制文件


分享到:
评论

相关推荐

    linux常用命令复习

    ### Linux常用命令复习知识点 #### 用户管理命令 - **`useradd`**:用于创建新的用户账户。 - **选项**: - `-d 目录`:指定新用户的家目录,若目录不存在则需要结合 `-m` 选项来创建。 - `-g 已存在的组名`:...

    03-Linux命令复习.mmap

    03-Linux命令复习.mmap

    linux期末复习资料

    本文对Linux期末复习资料进行了详细的知识点总结,涵盖了Linux的基本概念、Linux系统的特点、Linux的获取方法、安装Linux系统对硬盘分区的要求、Linux系统较流行的图形环境、如何进入Linux系统的命令行模式、Linux的...

    _linux命令学习复习

    以上就是关于Linux命令学习复习的主要知识点,包括操作系统的基本功能、Linux的特点、核心概念、文件系统结构、文件管理、权限控制以及文件传输等方面的内容。通过深入理解和熟练运用这些知识,可以有效地在Linux...

    Linux复习题-判断题

    Linux复习题-判断题 本资源为Linux操作系统考试必看教师出题的题库高分的保障,涵盖了Linux系统的多个方面,包括系统组成、文件系统、应用程序、系统管理、网络管理等知识点。 一、系统组成 * Linux系统一般由4个...

    linux常用命令大全(linux基础命令+命令备忘录+面试复习).docx

    在Linux操作系统中,掌握一些基本的命令是至关重要的,无论是对于运维人员、测试工程师还是开发者,熟练使用Linux命令能够极大地提高工作效率。以下是一些常见的Linux基础命令及其应用场景: 1. **ls**:列出目录...

    13.Linux开发- Linux命令复习与文件目录复习.pdf

    介绍虚拟机里Linux系统共享路径设置办法、配置VIM编辑器、安装常用的代码编辑器软件,SSH远程登录虚拟机、基本命令、文件操作函数等知识点。

    Linux期末复习总结.doc

    Linux命令和文件管理知识点总结 本文档总结了Linux命令和文件管理的知识点,...本文档为Linux期末复习总结,涵盖了Linux命令和文件管理的各个方面的知识点,旨在帮助用户快速了解和掌握Linux命令和文件管理的技能。

    Linux期末考试复习试题(含答案).pdf

    ### Linux期末考试复习知识点 #### 一、选择题解析及扩展知识点 1. **Linux操作系统特点** - **虚拟内存**:Linux支持虚拟内存技术,这意味着它可以使用硬盘的一部分作为内存来扩展物理内存的容量。 - **应用...

    期末Linux复习资料整理

    这份"期末Linux复习资料整理"包含了一系列的关键知识点,旨在帮助你在考试中取得优异的成绩。以下是对这些知识点的详细说明: 1. **Linux系统架构**:Linux是一个基于Unix的操作系统,由多个层次组成,包括内核、...

    考试必备Linux命令大全

    学习这些基本的Linux命令可以帮助你更高效地管理和操作Linux系统,无论是日常使用还是应对考试,都能得心应手。记住,实践是掌握这些命令的关键,尝试在自己的Linux环境中操作,将理论与实践相结合,你的Linux技能将...

    linux整理与复习

    在Linux中,命令行界面是其核心交互方式之一,掌握Linux命令是进行系统管理的基础。以下是一些重要的Linux知识点: 1. **启动图形化桌面**:通过`startx`命令可以在字符终端中启动X Window系统,或者使用快捷键`...

    linux 的一些复习资料

    1. 命令行操作界面:窗口管理器提供了一个命令行操作界面,用户可以使用命令来操作。 2. 窗口管理:窗口管理器可以管理多个窗口,用户可以轻松地切换窗口。 虚拟桌面 虚拟桌面是一个特殊的桌面环境,用户可以在...

    Linux复习.rar

    Linux复习文档旨在帮助初学者掌握Linux操作系统的基础知识和核心概念。Linux是一种自由开源的操作系统,其内核由林纳斯·托瓦兹开发,现在由全球众多开发者共同维护。Linux系统的广泛应用包括服务器、嵌入式设备以及...

    Linux复习题综合练习

    在Linux复习题综合练习中,涉及到了多个关于Linux操作系统的基础知识。以下是对这些知识点的详细解释: 1. **硬盘分区表示**:Linux的第二块硬盘的第一个分区应表示为/hdb1,因此正确答案是B。在Linux中,/hda表示...

    Linux复习资料.docx

    本文旨在总结 Linux 操作系统的基础知识点,涵盖用户管理、文件权限、命令使用、进程管理、磁盘管理等方面。 一、用户管理 * 创建用户:使用用户add命令创建新用户,例如创建用户"lf+学号",并设置密码。 * 用户...

    Linux认证复习参考题100道含答案

    这些题目涵盖了Linux操作系统的多个核心概念,包括系统管理、文件系统、设备管理...以上是对这些Linux认证复习题目的详细解释,涵盖了Linux系统管理的基础知识,对于准备Linux认证考试或者日常系统维护都是很有帮助的。

    Linux基础复习题.pdf

    从给定的文件信息中,我们可以提取出一系列与Linux基础知识相关的知识点,这些知识点不仅涵盖了Linux的基本概念,还涉及到了操作系统的特性和具体操作命令。以下是对这些知识点的详细阐述: ### Linux操作系统概述 ...

    linux系统命令源码

    "linux系统命令源码"这个压缩包文件,如`coreutils-5.97`,很可能是GNU Core Utilities的一个版本,它包含了大量常用Linux命令的源代码。 GNU Core Utilities是Linux和类UNIX系统中必不可少的一部分,提供了众多...

Global site tag (gtag.js) - Google Analytics