首页 > 代码库 > Linux基础
Linux基础
Linux笔记
一.LInix基本操作
1.
Kernel是内核。Shell(只是一个概念)分为CLI(命令行)和GUI(图形界面).
操作系统的Shell:
- GUI: GNOME
- CLI:BASH
2.BASH(命令行程序)
提示符:#(root用户),$(普通用户)
@前面是用户名,后面是主机名。后面是当前目录。
命令行一般由三个部分组成:
- 命令
- 选项
- 参数(单字符参数由 – 开头)
使用 ctrl + c终止当前命令
打开应用程序,放在后台运行,终止当前命令。加&号。
如 firefox &
使用Tab键来简化命令输入
- 自动补全命令
- 自动补全文件名(长度只要达到能和其它文件区分开)
- 无法自动补全参数
按两个Tab可以显示出所有的命令
历史纪录
- BASH会保存你输入命令的历史纪录,可以通过上下按键或者history命令来查看。
- 使用上下按键查看之前的命令(能一直往前递归查看历史)
- 使用history命令查看历史纪录
通过历史记录简化操作
- !! 重复前一个命令
- !字符 重复前一个以”字符”开头的命令
- !num 按照历史纪录的序号执行命令
- !?abc 重复之前包含abc的命令
- !-n 重复前n个命令之前的那个命令
搜索命令历史记录
- 可以通过ctrl + r来在历史记录中搜索命令(reverse-i-search)
- 重新调用前一个命令中的参数 esc .
esc后按.键
Bash Shell支持以下通配符
- * 匹配零个或多个
- ? 匹配任意一个字符
- [0-9]匹配一个数字字符
- [abc]匹配列表里任何字符
- [^abc]匹配列表以外字符
切换用户
- 在CLI中,通过su命令切换用户
su – 切换到root用户并使用一个新的运行环境,加破折号启用新的终端
sudo 使用管理员用户身份运行命令,不切换用户
- su – username 切换到另一个用户
- 显示当前用户信息
id
- 修改当前用户密码
passwd
- exit退出当前用户
BASH作业管理
- 在后台运行进程
在命令后添加一个 &
- 暂停某个程序
通过Ctrl+z或者发送信号17
- 管理后台作业
jobs查看当前后台运行的所有作业
sleep 5000 停止5000s
bg 进程编号 控制一个进程继续在后台运行
fg 进程编号 把后台作业拉到前台
3.Linux文件系统结构,通过命令行管理文件系统
- Linux文件系统为一个倒转的单根树状结构
- 文件系统的根目录为“/”
- 文件系统严格区分大小写
- 路径使用”/”分割,(“windows中使用”\”)
当前工作目录
- 每一个shell或系统进程都有一个当前工作目录
- 使用pwd(print work directory)命令可以显示当前的工作目录
- ~可以代替家目录
文件名称(对文件夹也相同)
- 文件的名称大小写敏感
- 名称最多可以为255个字符
- 除了正斜线外,都是有效字符
- 通过touch命令可以创建一个空白文件或者更新已有文件的时间
- 以”.”开头的文件为隐藏文件,隐藏文件绝大部分为配置文件,轻易不要去动这些文件。
列出目录内容
“ls”命令用来列出目录内容
相关参数:
- ls -a 显示所有文件(包括隐藏文件)
- ls -l 显示详细信息
- ls -R 递归显示子目录结构
- ls -ld 显示目录和链接信息
查看文件类型
- file
绝对路径与相对路径
- 绝对路径:以“/”开头,递归每级目录直到目标的路径。不受当前所在工作目录限制。
- 相对路径:以当前目录为起点,到达目标的路径。受当前所在目录限制。
cd命令可以用来切换目录
- 上一级目录 “..”
- 当前目录“.”
- 用户家目录“~”
- 上一个工作目录“-”
4.Linux文件操作
复制文件,目录
- 使用cp命令复制文件或目录
cp 源文件(文件夹) 目标文件(文件夹)
- 常用参数
-r 递归复制整个目录树(用于复制文件夹) cp -r
-v 显示详细信息 cp -v
移动,重命名文件或目录
- 通过mv命令移动或者重命名文件或目录
mv 文件 目标目录
- 如果指定文件名,则可以重命名文件
创建,删除文件
- 通过touch命令可以创建一个空文件或更新文件时间
- 通过rm命令可以删除文件或目录
常用参数
-i 交互式
-r 递归的删除包括目录中的所有内容
-f 强制删除,没有警告提示(使用时需十分谨慎)
创建,删除目录
- 通过mkdir命令创建一个目录
- 通过rmdir命令删除一个空目录
- 通过rm -r (-f) 命令删除一个非空目录
5.Linux系统目录架构
bin (保存的是常用的可执行二进制文件,所有的命令文件)
boot(引导目录,操作系统的引导启动文件)
dev(设备的缩写,计算机所有的硬件设备,各个设备都抽象成一个文件)
etc(几乎所有的配置文件,绝大多数是文本配置文件)
home(家目录,每一个用户都有自己的一个文件夹,保存该用户私有文件)
root(root用户的文件夹是单独的)
lib(所有的linux系统运行库文件)
media(光盘自动挂载)
mnt(光盘自动挂载)
opt(很多时候是空的,用来装一些大型软件,放在哪里不是强制的)
proc(系统实时信息,不存在于硬盘,在内存里)
sbin(可执行二进制文件,sbin里的命令只有root用户才能执行)
selinux(安全相关)
sys(底层硬件信息)
tmp(临时文件,隔断时间会自动删除)
usr(一般应用软件默认装到此)
var(经常变化的信息,如操作系统的日志)
6.常用命令
日期时间
- 命令date用以查看,设置当前系统时间
格式化时间: +%Y--%m--%d
[yhj@localhost Desktop]$ date +%Y--%m--%d
2017--07--11
- 命令hwclock(clock) 用以显示硬件时钟时间
- 命令cal用以查看日历
- 命令uptime用以查看系统运行时间
输出,查看命令
- 命令echo用以显示输入的内容
[yhj@localhost Desktop]$ echo "dawf"
dawf
- 命令cat用以显示文件内容(纯文本文件)
- 命令head用以显示文件的头几行(默认10行)
-n指定显示行数
· 命令tail用以显示文件的末尾几行(默认10行)
-n指定显示的行数
-f追踪显示文件更新(一般用于查看日志,命令不会退出,而是持续显示新加入的额内容)
· 命令more用于翻页显示文件内容(只能向下翻页)
- 命令less用于翻页显示文件内容(带上下翻页)
查看硬件信息
- 命令lspci用以查看PCI设备 列出(ls)
-v查看详细信息
· 命令lsusb用以查看USB设备
-v查看详细信息
· 命令lsmod用以查看加载的模块(驱动)
关机,重启
- 命令shutdown用以关闭,重启计算机
shutdown[关机,重启]时间
-h 关闭计算机
-r 重新启动
如:
立即关机:shutdown -h now
10分钟后关机:shutdown -h +10
23:30分关机:shutdown -h 23:30
立即重启: shutdown -r now
- (快捷)命令poweroff用以立即关闭计算机
- (快捷)命令reboot用以立即重启计算机
归档,压缩
- 命令zip用以压缩文件
zip linuxcast.zip(压缩后的文件名) myfile(要压缩的文件名)
- 命令unzip用以解压缩zip文件
unzip linuxcast.zip(要解压的zip文件)
- 命令gzip用以压缩文件
gzip linuxcast.net(文件名)
- 命令tar用以归档文件(打包)
tar -cvf out.tar(归档后的文件包名) linuxcast(要打包的文件夹)
tar -xvf linuxcast.tar 用于解开一个归档
tar -cvzf backup.tar.gz /etc 先归档,之后压缩tar调用gzip的命令
-z参数将归档后的归档文件进行gzip压缩以减少大小
查找
- 命令locate用以快速查找文件,文件夹
locate keyword
bb此命令需要预先建立数据库,数据库默认每天更新一次,可用update命令手工建立,更新数据库。
- 命令find用以高级查找文件,文件夹
find查找位置 查找参数
如:find . -name *linuxcast* 在当前目录查找所有文件名中包含linuxcast的文件
find / -name *.conf
find / -perm 777 硬盘中所有权限为777的文件
find / -type d 返回所有目录
find . -name “a*” -exec ls -/{}\; 查找所有文件名以a开头的文件,然后当成参数传递给那个命令。
- find常用查找条件
-name 基于文件名
-perm 基于文件权限
-user 基于用户
-group
-ctime
-type
-size
7.vi,vim文本编辑器
vi是一个命令行界面下的文本编辑工具。
vim已经不仅仅作为普遍意义上的文本编辑器,而是被guan广泛的作为在文本编辑,文本处理,代码开发等用途。
vim比vi的功能更为强大。
Linux中知名的文本编辑器还有emacs,它的功能比vim还要强大。
vim
- 命令vim可以启动vim编辑器
- 一般我们通过vim+目标文件路径 的形式使用vim
- 如果目标文件存在,则vim打开该文件。
- 如果目标文件不存在,则vim新建并打开该文件。
vim模式(三种模式)
- 命令模式(常规模式)
vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)。命令模式下可以通过键入不同的命令完成选择,复制,粘贴,撤销等等操作。
- 插入模式
在命令模式中按“i”键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。
- ex模式
在命令模式中按”:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或ui出vim.
命令模式
vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)
。命令模式常用命令如下:
- i 在光标前插入文本
- o 在当前行的下面插入新行
- dd 删除整行
- yy 将当前行的内容放入缓存区(复制当前行)
- n+yy 将n行的内容放入缓存区(复制n行)
- p 将缓存区中的文本放入光标后(粘贴)
- u 撤销上一个操作
- r 替换当前字符
- / 查找关键字
EX模式
- 在命令模式中按“:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim。ex模式下常用命令如下:
:w 保存当前修改
:q 退出
:q! 强制退出,不保存修改
:x 保存并退出,相当于:wq
:set number 显示行号
:! 系统命令 执行一个系统命令并显示结果
:sh 切换到命令行,使用ctrl + d 切换回vim
点击完命令后按回车确定
8.磁盘,分区,MBR与GPT
二.Linux磁盘及文件管理系统
1.使用fdisk进行磁盘管理
2.Linux文件系统
3.挂载,使用文件系统
三.Linux获取帮助
没有必要记住所有东西
- 几乎所有命令都可以使用-h或--help参数获取使用方法,参数信息等。
- --help广泛
-MAN
· man命令是Linux中最为常用的帮助命令,将要获取帮助的命令作为参数运行man命令就可以获取相应的文档帮助。
- man 命令 会出现该命令的参数方法
- man文档分为很多类型。
·man -k关键字 可以用来查询包含该关键字的文档
INFO
- info与man类似,但是提供的信息更为详细深入,以类似网页的形式显示。
- man与info都可以通过”/+关键字”方式进行搜索。
- info 命令
DOC
·很多程序,命令都有详细的文档,以TXT,HTML,PDF等方式保存在/usr/share/doc目录中,这些文档是相应程序最为详尽的文档。
四.用户及权限基础
1.Linux用户基础
2.Linux权限
加入参数 -R 可以把修改的权限递归到子文件
3.Linux扩展权限
(默认权限,特殊权限)
五.Linux网络基本配置
1.网络基础
2.Linux基本网络配置
六.Linux管道,重定向及文本处理
1.Linux多命令协作:管道及重定向
2.文本处理
七.Linux系统启动详解
init是linux系统的第一个进程。是所有进程的父进程。
八.Linux软件管理基础:RPM、YUM
1.RPM软件包管理
2.YUM
Linux基础