Linux入门基础(一):Linux基本操作
命令行BASH基本操作
Shell
用户不能直接操作内核,所以用户操作通过shell传递给内核
shell分为两种 :
GUI 图形界面 (linux一般是GNOME)
CLI 命令行界面 (linux一般是BASH)
BASH
- 提示符
- # root用户
- $ 普通用户
- 命令一般由 (命令、选项、参数) 组成。
例如 :
[root@linuxabc ~ ] # uname -r
用户名 主机名 工作目录 root用户 命令 参数
- 使用Tab键来自动补全命令(注意:无法自动补全参数,)
- 按2下Tab显示所有命令
历史记录
Bash会保存你输入过的命令,可以通过↓↑ 键来查看。
通过history可查看输入过的全部命令
!!重复前一个命令(用上也可以。还方便)
!字符 重复前一个以“字符”开头的命令
!num 按照历史记录的序号执行命令
!?abc重复之前包含abc的命令
!-n重复n歌命令之前的那个命令
通过Ctrl+r来在历史记录中搜素命令(reverse-i-search)“:
重新调用前一个命令中的参数Esc.(按完Esc键之后按.)
命令行通配符
- *匹配零个或多个
- ?匹配任意一个字符
- [0-9]匹配一个数字范围
- [abc]匹配列表里任何字符
- [Λabc]匹配列表以外的字符
切换用户
- su - 切换到root用户(切换终端)
- sudo 使用管理员权限运行命令
BASH作业管理
- 在后台运行进程
- 在命令后添加一个&
- 终止某个程序
- Ctrl+c
- 暂停某个程序
- Ctrl+z
- 管理后台作业
- jobs 查看当前在后台运行的作业
- sleep 5000 停参数输入的时间 5000秒 可使用ctrl+c终止 或者 使用ctrl+z暂停
- bg 编号 控制进程继续在后台运行
- fg 编号 继续在前台运行
文件系统基本操作
Linux文件系统结构
- Linux文件系统为一个倒转的单根树状结构
- 文件系统的根为“/"
- linux文件系统严格区分大小写,大小写敏感
- 路径使用”/"分割,(windows中使用“\”)
当前工作目录
- 每一个shell或系统进程都有一个当前的工作目录:~显示当前所在目录。
- 使用pwd命令可以显示当前的工作目录+
文件名称
- 文件的名称大小写敏感
- 名称最多可以使用255个字符
- 除了正斜线外都是有效字符
- 通过touch命令可以创建一个空白文件或者更新已有文件的时间
- 以“."开头的文件为隐藏文件
列出目录内容 : ls
- ls -a 显示所有文件(包括隐藏文件):隐藏文件绝大多是都是配置文件,不要去动这些文件。
- ls -l 显示详细信息
- ls -R 递归显示子目录结构
- ls -ld 显示目录和链接信息
查看文件类型 : file
file 文件名
绝对路径与相对路径
- 绝对路径:以/开头,递归每级目录直到目标的路径。不受当前所在工作目录限制
- 相对路径:以当前目录为起点,到达目标的路径。受当前所在目录限制
cd用来切换目录:cd .切换到当前目录,cd ..切换到上一级目录,cd ~切换到家目录, cd -上一个工作目录。
文件基本操作
复制文件 : cp
cp 源文件 目标文件
-r 递归复制整个目录树
-v 显示详细信息
移动文件 : mv
mv 源文件 目标目录(加/文件名会重命名该文件)
-r 递归复制整个目录树
-v 显示详细信息
创建文件 : touch
删除文件 : rm
-i 交互式
-r 递归删除包括目录中所有内容
-f 强制删除,没有警告(谨慎)
创建目录 : mkdir
删除目录 : rmdir
删除空文件夹
删除非空文件夹加 -r -f参数
系统目录架构
- bin 可执行文件
- boot vmlinux内核 grub引导程序
- dev 硬件设备,linux里所有硬件都被抽象成文件
- etc 配置文件
- home 家目录,保存用户信息(root除外,root单独保存)
- lib 库文件
- media 挂载文件,和mnt一样
- opt 大型软件,比如数据库
- proc 虚拟数据,实时信息
- sbin 和bin一样,但只有root用户才能执行
- sys 底层硬件信息
- tmp 临时文件,定时删除
- usr 应用软件,大型软件装opt,一般软件装usr
- var 经常变化的信息,比如日志log
系统常用命令
日期和时间
- date 查看和设置系统的日期和时间
- -u 查看utc时间
- date +%Y-%m-%d 格式化显示时间
- -s 设置时间,只有root用户才有权限更改
- clock 显示硬件时钟时间,比如主板
- cal 查看日历
- uptime 查看系统运行时间
输出 , 查看
- echo 显示输入的内容
- cat 显示文件内容
- more 翻页显示文件内容(只能向下翻页)
- less 翻页显示文件内容(能上下翻页)
- head 显示文件的头几行(默认10行)
- -n 指定显示行数
- tail 显示文件的末尾几行(默认10行)
- -n 指定显示行数
- -f 追踪显示文件更新,一般用于查看日志,持续显示新加入的内容
查看硬件信息
- lspci 查看PCI设备
- -v 查看详细信息
- lsusb 查看USB设备
- -v 查看详细信息
- lsmod 查看加载的模块(设备驱动)
关机 , 重启
- shutdown 用来关闭 , 重启计算机
- -h 关闭计算机
- -r 重启计算机
例如:
#立即关机
shutdown -h now
#10分钟后关机
shutdown -h +10
#23:30关机
shutdown -h 23:30
#立即重启
shutdown -r now
- poweroff 立即关机
- reboot 立即重启
归档 , 压缩文件
- zip 压缩
- zip 压缩后的文件名.zip 要压缩的文件
- unzip 解压缩
- unzip 压缩文件名.zip
- gzip 压缩
- gzip 要压缩的文件
- tar 用来归档文件
- tar -cvf 归档文件包.tar 要归档的文件
- tar -xvf 要解归档的文件包.tar
- tar -cvzf 归档并压缩的文件包.tar.gz 要归档并压缩的目录
- -z 将归档后的文件进行gzip压缩以减小大小
查找
locate 用以快速查找文件 , 文件夹
- locate 关键字 (locate查的是文件数据库,快,但可能不及时准确.数据库默认每天更新一次,可手动更新)
find 用以高级查找文件 , 文件夹
find 查找位置 查找参数
例如:
#查找当前目录下,文件名包含'abcde'的文件
find . -name *abcde*
#查找根目录下,d代表目录,即查找根目录下所有的目录
find / -type d
#查找根目录下,权限是777的文件
find / -perm 777
find支持的常用查找参数
- -name 名字
- -perm 权限
- -user 属于特定用户
- -group 属于特定组
- -ctime 基于修改时间
- -type 文件类型
- -size 基于文件大小
vim编辑器
vim是vi的增强版
vim命令启动vim编辑器
vim 文件名 (存在则打开文件,不存在则新建并打开文件)
vim的三种模式:
- 命令模式 (默认模式,其他模式按ESC进入命令模式)
- i 进入插入模式
- o 在当前行下面插入新行
- dd 删除整行
- u 撤销上一个操作
- yy 复制当前行
- n+yy 复制下面的n行
- p 粘贴
- r 替换当前字符
- / 查找关键字
- 插入模式 (命令模式中按 i 进入)
- ex模式 (命令模式中按 : 进入)
- :w 保存当前修改
- :q 退出(不保存会提示)
- :q! 强制退出
- :x 保存并退出,等同于 :wq
- :set number 显示行号
- :! 执行系统命令并显示结果
- :sh 切换到命令行,使用ctrl+d切换回vim
磁盘的基本概念
磁盘在Linux中的表示
Linux中所有的设备都被抽象成文件,保存在/dev目录下
IDE设备名称为 hd[a-z] ,例如:hda,hdb
SATA,SCSI,SAS,USB等名称为 sd[a-z],例如sda,adb
磁盘分区
不同分区用,设备名称+分区号表示,如 sda1,sda2
主流的分区机制有MBR和GPT两种
- MBR
- 传统分区机制,应用于绝大多数BIOS的PC设备
- 支持32bit和64bit
- 支持分区数量有限(最多4个主分区)
- 支持不超过2TB的硬盘
- GPT
- 向后兼容MBR
- 只能在支持UEFI的硬件上才能使用
- 只支持64bit
- 支持超过2TB的硬盘
- Mac,Linux都能支持GPT
MBR结构
MBR占用了磁盘的前512字节(446+4*16+2)
前446字节为引导代码
4*16字节为分区表
2字节为启动标识(55h AAh可引导设备,Linux启动时BIOS引导)
MBR分区
主分区 (最多只能创建4个主分区)
扩展分区 (一个扩展分区会占用一个主分区位置)
逻辑分区 (linux最多支持63个IDE分区和15个SCSI分区)
例如:{sda1} {sda2} {sda3} { sda4 [sda5] [sda6] [sda7] }
sda123是主分区
sda4是扩展分区,占用一个主分区位,但不能直接使用,需要建立逻辑分区使用
sda567是逻辑分区
Linux入门基础(一):Linux基本操作的更多相关文章
- Linux入门基础(三):Linux用户及权限基础
用户基础 用户和组 每个用户都拥有一个userid 每个用户都属于一个主组,属于一个或多个附属组 每个组拥有一个groupid 每个进程以一个用户身份运行,受该用户可访问资源限制 每个可登陆用户拥有一 ...
- Linux入门基础(七):Linux软件管理基础
源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要编译成为二进制形式之后才能够运行 源代码基本编译流程 : ./configure 检 ...
- Linux入门基础(四):Linux网络基本配置
网络基础 ip编址 ip编址是一个双层编址方案(网络部分和主机部分),一个ip地址标识一个主机(或一个网卡接口) 现在应用最广泛的是IPv4编址,已经开始逐渐向IPv6编址切换 IPv4地址32位长, ...
- Linux入门基础(六):Linux系统启动
系统启动流程 BIOS MBR : Boot Code 执行引导程序-GRUB 加载内核 执行init runlevel BIOS BIOS(basic input output system),我们 ...
- Linux入门基础(五):Linux管道,重定向,文本处理
多命令协作:管道及重定向 在Linux中,大多数命令都很简单,每个命令往往只实现一个或几个很简单功能. 我们可以通过将不同功能的命令组合起来一起使用,达到完成某个复杂功能的目的 CLI下几乎所有的命令 ...
- Linux入门基础(二):Linux磁盘及文件管理系统
磁盘管理 fdisk分区工具 只支持MBR分区 fdisk命令只有root用户能用 fdisk -l 列出所有安装磁盘及分区信息 fdisk /dev/sda (操作磁盘,按m可列出帮助界面,常用的操 ...
- Linux入门基础篇
Linux入门基础篇 Linux诞生 Linux发行版本说明 Linux官方网站 Linux内核官方网站 比较有名的Linux发行版 虚拟机(Virtual Machine),一个虚拟的系统,安装在系 ...
- Linux入门基础之一
Linux 入门基础 一.Linux 系统安装 安装方法网上很多,请自行百度 二.Linux 基本操作 2.1.GNOME图形界面基本操作 操作类似于Windows系统操作 打开每一个文件夹都会打开一 ...
- Linux入门基础知识
注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...
随机推荐
- 网络I/O模型--04非阻塞模式(解除accept()、 read()方法阻塞)的基础上加入多线程技术
由于应用程序级别并没有使用多线程技术,这就导致了应用程序只能一个一个地对Socket 套接字进行处理.这个 Socket 套接宇没有处理完,就没法处理下一个 Socket 套接字 .针对这个 问题还是 ...
- Python 利用Python编写简单网络爬虫实例3
利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://bbs.51testing. ...
- 如何在C/S下打印报表
java应用有不少是C/S模式,在C/S模式下,同样可以调用API接口运算报表.CSReport是C/S模式下的报表控件类,在这个类中可以获得报表的显示面板.获得报表的打印面板.显示报表打印窗口 ...
- redis 概述、windows版本下载启动访问退出安装、中文乱码、RedisDesktopManager下载
redis 概述 redis的key是string类型的:value有多种类型,但放入的不是特定类型数据,添加的都是string,只是redis把这些值组织成了各种数据结构.key和相应的值都是str ...
- git clone过程中发生的错误
错误提示: 问题原因以及解决方式:http://blog.csdn.net/huihut/article/details/79404421
- 关于removeChild
var a=document.body; document.body.parentNode.removeChild(a) console.log(a); a的内容还是body???whY
- BeautifulSoup爬虫基础知识
安装beautiful soup模块 Windows: pip install beautifulsoup4 Linux: apt-get install python-bs4 BS4解析器比较 BS ...
- teradata 字符串数据合并 在concat()函数无法使用的情况下
在teradata sql中不存在concat()函数或者stuff()函数,在此情况下,如何实现多条字符串数据合并成一行? 在查找不同方法过程中,在stackflow中找到最简便的方法,使用xml_ ...
- FileStream对文本进行读写操作
class FileHelper { /// <summary> /// 检验文件路径是否合法 /// </summary> /// <param name=" ...
- ASP.NET Web API 跨域访问(CORS)要注意的地方
一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...