Linux学习笔记
一些常用语句
/opt/google/chrome/chrome --enable-easy-off-store-extension-install Chrome浏览器可扩展打开
mount /dev/sda1 / -o rw,remount Windows中的磁盘可读可写访问
sudo fdisk -l 查看硬盘信息
文件目录结构
重点
/bin 是Binary的缩写,这个目录存放着最经常使用的命令
/home 存放普通用户的主目录,在Linux中的每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/root 该目录为系统管理员,也称作超级权限者的用户主目录
/etc 所有的系统管理所需要的配置文件和子目录
/usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
/boot 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
/media Linux系统会自动识别一些设备,例如U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录下e
/mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了
/usr/local 这个另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
/var 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件
初学者不要修改
/proc 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
/srv service缩写,该目录存放一些服务启动之后需要提取的数据
/sys 这个Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
非重点
/opt 是给主机额外安装软件所摆放的目录。
Vi和Vim编辑器的使用
三种常用的模式
正常模式
以vim打开一个档案就直接进入一般模式,可以使用上下左右移动光标,也可以使用删除字符或删除整行来处理,也可以 使用复制/粘贴来处理,也就是可以使用快捷键
插入模式
按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i(insert)即可,
命令行模式
在这个模式中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作
:wq 保存并退出
:q! 强制退出(不保存)
模式转换
正常模式–(:或者/)–>命令模式
命令模式–(Esc)–>正常模式
正常模式–(i或a)–>编辑模式
编辑模式–(Esc)–>正常模式
常用快捷键与命令
-
拷贝当前行:yy或Y,粘贴:p(在光标后)或P(在光标前),拷贝当前行向下5行:5yy,
-
删除当前行:dd,删除当前行向下5行:5dd
-
在文件中查找某个单词:命令行下/关键字,回车查找,输入n就是查找下一个
-
设置文件的行号,取消文件的行号:命令行下:set nu和:set nonu
-
编辑/etc/profile文件,使用快捷键到底文档的最末行:G 和最首行:gg
-
在一个文件中输入“hello",然后又撤销这个动作 :u
-
编辑/etc/profile文件,并将光标移动到20行:set nu,20,G
关机、重启、用户登录与管理
关机&重启
shutdown -h now:立即关机
shutdown -h 1:一分钟后关机
shutdown -r now:立即重启
halt:直接使用,停机指令,效果等价于关机
reboot:重启
sync:用于在关机之前将内存的数据同步到磁盘,防止数据丢失
用户登录和注销
logout:注销(在图形运行界面中无效在运行级别3有效,即远程登录时可用,直接在Terminal中没用)
su -用户名:切换系统管理员身份
用户管理
用户管理 | 命令 |
---|---|
添加用户 | useradd [选项] 用户名 |
指定/修改密码 | passwd 用户名 |
删除用户但保留home目录 | userdel 用户名 |
查询用户信息 | id 用户名 |
用户信息中:uid------用户id,gid------组id,
切换用户
su - 切换用户名
用户组
groupadd 组名:添加组
groupdel 组名:删除组
useradd -g 用户组 用户名:添加用户时直接加上组
usermod -g 用户组 用户名:修改用户组
用户文件
用户配置文件(用户信息):/etc/passwd,每行含义:用户名:口令:用户id:组id:家目录:shell
组配置文件(组信息):/etc/group ,每行含义:组名:口令:组标识号:组内用户列表
口令配置文件(密码和登录信息,是加密):/etc/shadow,每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
实用指令
指定运行级别
0:关机
1:单用户[找回用户密码]
2:多用户无网络服务
3:多用户有网络服务
4:保留
5:图形界面
6:重启
常用运行级别是3和5
配置文件:/etc/inittab (ubuntu系统没有此文件)
切换到置顶运行级别的指令:init [0123456]
帮助指令
man 获得帮助信息:man [命令或配置文件] (功能描述:获得帮助信息)
help 命令:help 或 ls --help
文件目录类
指令 | 功能描述 | 选项 |
---|---|---|
pwd | 显示当前工作目录的绝对路径 | |
ls -选项 目录/文件 | 查看当前目录所有内容信息 | -a:(all)所有文件包括隐藏的 -l:以列表方式显示 (可混合) |
cd 参数 | 切换目录 | ~| :回到家目录, …上一级 |
mkdir 目录 | 创建目录 | -p:创建多级目录 |
rmdir 目录 | 删除目录 | 如果是删除非空目录,需要用rm -rf / |
touch 文件名 | 创建一个空文件 | 可以一次性创建多个文件eg: touch 1,2,3 |
cp source dest | 拷贝 | -r:递归复制整个文件夹 |
rm | 移除文件或目录 | -r:递归删除整个文件夹,-f:强制删除不提示 |
mv old new | 移动文件与目录或重命名 | |
cat | 以只读的方式查看文件内容 | -n:显示行号,(管道命令)| more 分页显示 |
more | 文本过滤,按页显示文本内容 | 快捷键:空格-下一页;Enter-下翻一行;q-离开;Ctrl+F向下滚动一屏;Ctrl+B返回上一屏;=-输出当前行的行号; |
less | 分屏查看大文件 | 快捷键:空格-下一页,pagedown/up 下/上一页;/ 向下查找;?向上查找;q退出 |
> | 输出重定向 | eg:ls -l >文件:将列表内容写入a.txt中(不存在则创建,存在则覆盖) |
>> | 追加 | eg:ls -al >>文件:将列表内容追加到文件aa.txt的末尾 |
echo “内容”>> 文件 | 是将内容追加到文件中 | |
echo | 输出内容到Terminal | eg:echo $PATH |
head | 显示文件的开头部分 | 默认显示前10行内容 head -n 5 文件 显示前5行 |
tail | 输出文件中尾部内容 | 默认前10行,-n 5 前5行; -f:实时追踪该文档所有更新 |
ln -s [原文件] [软链接名] | 给原文件创建一个软链接(类似与快捷方式) | |
history | 查看已执行过的历史命令 | ! 88 :执行编号为88的指令 |
时间日期类
指令 | 功能描述 | 选项 |
---|---|---|
date | 显示当前日期 | 格式:+%Y:年,+%m:月,+%d:日,+%H/M/S:时/分/秒(复合"+%Y-%m-%d") |
date -s 字符串 | 设置日期 | eg:date -s “2019-2-4 11:30:00” |
cal | 查看日历 | eg:cal 2020查看2020年日历 |
搜索查找类
指令 | 功能描述 | 选项 |
---|---|---|
find [范围] [选项] | 递归遍历目录,将满足条件的显示 | -name按照文件名查找;-user:按拥有者用户名;-size按文件大小(+n大于,-n小于,n等于) |
locate | 快速查找 | 第一次运行前必须使用updatedb创建locate数据库 |
grep [选项] 查找内容 源文件 | 过滤查找 | -n 显示匹配行及行号; -i 忽略字母大小写,管道符 |(表示将前一个命令的处理结果输出传递到后面命令处理) |
压缩和解压缩类
指令 | 功能描述 | 选项 |
---|---|---|
gzip 文件 | 压缩文件为 *.gz文件(原文件不保留) | |
gunzip 文件.gz | 解压缩文件 | |
zip [选项] *.zip 文件 | 压缩文件/目录 | -r:递归压缩 |
unzip [选项] *.zip | 解压缩文件 | -d<目录> 指定解压后存放目录 |
tar [选项] *.tar.gz 内容 | 压缩成.tar.gz或解压(根据选项-c/-x改变) | -c:产生.tar打包文件,-v:显示详细信息,-f指定压缩后的文件名,-z打包同时压缩,-x解包.tar文件 |
组管理和权限管理
文件/目录 所有者
一般为文件的创建者
指令:ls -ahl 查看文件的所有者
指令:chown 用户名 文件名 修改文件的所有者
指令:chgrp 组名 文件名 修改文件所在的组
权限管理
ls -l 每一行的解释
文件类型:-:普通文件 d:目录 l:链接 c:字符设备(键盘、鼠标) b:块文件,硬盘
eg:- rw-rw-r-- 1 zephon zephon 10292 2月 4 12:45 Linux.md
-:文件类型为普通文件;rw-文件所有者权限rw(读写);rw-文件所在组其它用户权限rw;r–文件的其它组用户的权限;1:如果是文件,表示硬链接的数,如果是目录则表示该目录的子目录个数;zephon:所有者;zephon:组;10292:文件大小,如果是目录显示4096;2月 4 12:45文件最后的修改时间;Linux.md:文件名
rwx作用到文件:
- [r]代表可读:可以读取、查看
- [w]代表可写:可以修改,但不代表可以删除,删除一个文件的前提条件是对该文件所在目录有写权限
- [x]代表可执行:可以被执行
rwx作用到目录:
- [r]代表可读:可以读取,ls查看目录内容
- [w]代表可写:可以修改,目录内创建+删除+重命名目录
- [x]代表可执行:可以进入该目录
rwx的数字表示:
r=4,w=2,x-1 因此 rwx=4+2+1=7
修改权限
直接修改
chomd u=rwx,g=rx,o=x 文件目录名 (u:所有者 g:所有组 o:其他人 a:所有人)
chmod o+w 文件目录名 :给其它人加一个可写权限
chmod a-x 文件目录名:给所有人去除执行权限
通过数字修改
规则:r=100=4,w=010=2,x=001=1,rwx=4+2+1=7
chmod u=rwx,g-rx,o=x 文件目录名 相当于 chmod 751 文件目录名
我的博客www.zephon.xyz