Linux从入门到放弃
Ch.0 几点Linux常识
Linux严格区分大小写,不像windows中命令是不区分大小写的
Linux中所有内容以文件形式保存,包括硬件
Linux不靠扩展名区分文件类型,所有扩展名只是为了方便用户使用
Linux所有存储设备都必须挂载后才能使用,包括硬盘、u盘和光盘等
Linux没有文件创建时间的概念,只有文件最后修改时间
Linux各目录作用:
Ch.1 Linux系统简介
Linux主要发行版本
Ch.2 Linux安装
2.1 分区类型
1、主分区:最多只能有4个
2、扩展分区:
最多只能有1个
主分区加扩展分区最多有4个
不能写入数据,只能包含逻辑分区
3、逻辑分区
所以逻辑分区的编号永远都是从5开始
举个例子:
其中1,2,3为主分区,4为扩展分区,5,6为逻辑分区
2.2 格式化
格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。
我的理解就是写入文件系统,也就是划分小的数据块,同时建立inode表。
2.3硬件设备文件名
Linux中所有的硬件设备都是文件
硬件 |
设备文件名 |
IDE硬盘 |
/dev/hd[a-d] |
SCSI/SATA/USB硬盘 |
/dev/sd[a-p] |
光驱 |
/dev/cdrom或/dev/hdc |
软盘 |
/dev/fd[0-1] |
打印机(25针) |
/dev/lp[0-2] |
打印机(USB) |
/dev/usb/lp[0-15] |
鼠标 |
/dev/mouse |
目前硬盘基本都采用SATA接口(读写速度达500MB/s左右)
2.4挂载
相当于windows中的分区分配盘符,windows中叫盘符(C、D、E等),linux中叫挂载点。分区要想正常使用,必须有个挂载点,linux中把空的目录作为挂载点。
1、必须分区:
/(根分区)
swap分区(交换分区,内存2倍,不超过2GB)
2、推荐分区:
/boot(启动分区,200MB,为什么要分boot区呢?因为不分的话,硬盘如果一不小心写满后系统就无法重启了)
举个分区的例子:
2.5 系统安装
密码原则:
Linux中普通用户修改密码要符号密码原则,否则无法修改
1、复杂性:
八位字符以上、大小写字母、数字、符号
不能是英文单词
不能是和用户相关的内容
2、易记忆性
3、时效性
安装日志:
/root/install.log:*存储了安装在系统中的软件包及其版本信息
/root/install.log.syslog:存储了安装过程中留下的事件记录
/root/anaconda-ks.cfg:以Kickstart配置文件的格式记录安装过程中设置的选项信息
Ch.3 Linux常用命令
这一部分列出常用的命令和选项,大部分只是简单列出,想了解的去查阅Linux命令大全,最好自己动手尝试
链接: http://pan.baidu.com/s/1eQ3WptK 密码: omxk
以下提供几种方法帮助了解命令,以ls为例
man ls 产看命令详细帮助文档(man无法查看的命令都是shell内置命令)
ls --help 查看命令帮助文档
which ls 查看命令所在目录和别名
whereis ls 查看命令位置和其帮助文档位置
whatis ls 查看命令简短的介绍信息(man中的NAME部分)
3.1 文件处理命令
命令 |
选项 |
位置 |
备注 |
ls |
-a -l -d -i -h |
/bin/ls |
|
mkdir |
-p 递归创建 |
/bin/mkdir |
|
cd |
shell内置命令 |
.表当前目录..表上一级目录 |
|
pwd |
/bin/pwd |
||
rmdir |
/bin/rmdir |
只能删除空目录 |
|
cp |
-r 复制目录 -p 保留文件属性 |
||
mv |
/bin/mv |
||
rm |
-r -f |
/bin/rm |
|
touch |
/bin/touch |
创建空文件 |
|
cat |
-n 显示行号 |
/bin/cat |
显示文件内容 |
tac |
/usr/bin/tac |
反向显示文件内容 |
|
more |
/bin/more |
space或f 翻页 enter 换行 q或Q 退出 |
|
less |
/usr/bin/less |
||
head |
-n 指定行数 |
/usr/bin/head |
默认10行 |
tail |
-n 指定行数 -f 动态显示 |
/usr/bin/tail |
|
ln |
-s 创建软链接 |
/bin/ln |
软连接特性:类似windows的快捷方式 1、lrwxrwxrwx l 软链接。软链接文件权限都为rwxrwxrwx 2、文件大小-只是符号链接 3/tmp/issue.soft -> /etc/issue 箭头指向原文件 硬链接特性: 1、同步更新 2、和源文件inode相同 3、不能跨分区 4、不能针对目录使用 |
3.2 权限管理命令
Linux中文件和目录权限分为r、w、x,分别对于数字4、2、1,如软链接权限是
rwx rwx rwx
7 7 7
u g o
u:用户,即文件创建者
g:用户所属组
o:其他用户
代表字符 |
权限 |
对文件的含义 |
对目录的含义 |
r |
读权限 |
可以查看文件内容 |
可以列出目录中的内容 |
w |
写权限 |
可以修改文件内容 |
可以在目录中创建、删除文件 |
x |
执行权限 |
可以执行文件 |
可以进入目录 |
一个实验:普通用户创建com目录(mkdir com),root在com目录下创建test文件(touch com/test),则普通用户能删除test吗?
答案是可以的,com权限是rwxr-xr-x,test权限是rw-r--r--,普通用户对com有w权限,所以可以删除root创建的文件test。
命令 |
选项 |
位置 |
备注 |
chmod |
-R 递归修改 |
/bin/chmod |
1、只有root和文件所有者可以改变文件权限 2、语法: chmod [{ugoa}{+-=}{rwx}] [文件或目录] [mode=421] [文件或目录] 例: $chmod g+w testfile $chmod -R 777 testdir |
chown |
/bin/chown |
1、只有root可以改变文件所有者 2、语法: chown [用户] [文件或目录] |
|
chgrp |
/bin/chgrp |
只有root可以改变文件所属组 |
|
umask |
-S 以rwx形式显示新建文件缺省权限 |
1、功能:显示、设置文件的缺省权限 2、文件的默认权限比目录少个x 3、umask显示的是数字需要用777减去才是正常权限 |
3.3 文件搜索命令
命令 |
选项 |
路径 |
备注 |
find |
+n 大于 -n 小于 n 等于
|
/bin/find |
语法: find [搜索范围] [匹配条件] 例: 1、$ find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件 2、$ find /etc -name inittab -exec ls -l {} \; 在/etc下查找inittab文件并显示其详细信息 -exec/-ok 命令 {} \; 对搜索结果执行操作 |
locate |
-i 忽略大小写 |
/usr/bin/locate |
1、ocate搜索很快,因为其在系统中维护一个文件资料库(/var/lib/mlocate/mlocate.db),可以用locate locate找到。所以一个新建的文件无法用locate找到,需要updatedb更新资料库 2、有一些目录,如存放临时文件的目录并不会收录在文件资料库中 |
which |
/usr/bin/which |
||
whereis |
/usr/bin/whereis |
||
grep |
-i忽略大小写 -v 排除指定字串 |
/bin/grep |
例: $ grep -v ^# /etc/inittab 查看/etc/inittab中不以#开头的行 |
man |
/usr/bin/man |
用man查看配置文件时,不需要绝路径,只要文件名就可以了 例:man services |
|
help |
Shell内置命令 |
查看shell内置命令帮助信息 |
|
apropos |
3.4 用户管理命令
命令 |
选项 |
位置 |
备注 |
useradd |
/usr/sbin/useradd |
执行权限:root |
|
passwd |
/usr/bin/passwd |
要符合密码原则 |
|
who |
/usr/bin/who |
who得到的信息分4个部分,分别是: 用户名 登陆终端(tty表本地终端,pts表远程登陆) 登陆时间 ip |
|
w |
/usr/bin/w |
更加详细的登录用户信息 up 系统连续运行时间 load average 系统平均负载 IDLE用户空闲时间 JCPU累计占用CPU时间 PCPU当前操作占用CUP时间 WHAT当前操作 |
3.5 压缩解压命令
命令 |
选项 |
位置 |
备注 |
gzip |
-d |
/bin/gzip |
只能压缩文件,且不保留源文件 压缩后格式.gz |
gunzip |
/bin/gunzip |
||
tar |
压缩: -c 打包 -v 显示详细信息 -f 指定文件名 -z 打包同时压缩 -j 使用bzip2格式压缩 解压: -x 解包 -z 解压缩 -j 解压bzip2格式 |
/bin/tar |
压缩格式: tar -zcf [压缩后的文件名] [目录] 压缩后文件格式:.tar.gz 解压缩格式: tar -zxvf [压缩文件名] |
zip |
-r 压缩目录 |
/usr/bin/zip |
格式: zip [选项] [压缩后文件名] [文件或目录] |
unzip |
/usr/bin/unzip |
||
bzip2 |
-k 保留源文件 |
/usr/bin/bzip2 |
压缩比惊人,推荐使用 例: $bzip2 -k testfile $tar -cjf testdir.tar.bz2 testdir |
bunzip2 |
-k |
/usr/bin/bunzip2 |
例: $bunzip2 -k testfile.bz2 $tar -xjf testdir.tar.bz2 |
3.6 网络命令
命令 |
选项 |
位置 |
备注 |
write |
/usr/bin/write |
以ctrl+d结束 |
|
wall |
/usr/bin/wall |
||
ping |
-c指定发送次数 |
/bin/ping |
|
ifconfig |
/sbin/ifconfig |
语法: ifconfig 网卡名称 IP地址 例: #ifconfig eth0 192.168.8.250 |
|
|
/bin/mail |
||
last |
/usr/bin/last |
列出目前与过去登入系统的用户信息,包含重启信息 |
|
lostlog |
-u |
/usr/bin/lastlog |
包括伪用户 |
traceroute |
/bin/traceroute |
显示数据包到主机间的路径 详见: http://www.cnblogs.com/peida/archive/2013/03/07/2947326.html |
|
netstat |
-t TCP协议 -u UDP协议 -l 监听 -r 路由 -n 显示IP地址和端口号 |
/bin/netstat |
常用组合: #netstat -tlun查看本机监听的端口 #netstat -an查看本机所有的网络连接 #netstat -rn查看本机路由表 |
setup |
/usr/bin/setup |
仅限CentOS 执行权限:root |
|
mount |
-t |
/bin/mount |
语法: mount [-t 文件系统] 设备文件名 挂载点 例: #mount -t iso9660 /dev/sr0/mnt/cdrom |
3.7 关机重启命令
命令 |
选项 |
位置 |
备注 |
shudown |
-c 曲线前一个关机命令 -h 关机 -r 重启 |
||
halt |
|||
poweroff |
|||
init 0 |
|||
reboot |
重启 |
||
init 6 |
重启 |
||
logout |
退出登陆 |
系统运行级别(runlevel):
0 关机
1 单用户,相当于windows的安全模式
2 不完全多用户,不含NFS服务
3 完全多用户(多数服务器默认)
4 未分配
5 图形界面(默认)
6 重启
CentOS可查看/etc/inittab文件,runlevel命令查看当前运行级别
Ch.4 文本编辑器——Vim
略略略。。。
to be continued...
Linux从入门到放弃的更多相关文章
- Linux从入门到放弃、零基础入门Linux(第四篇):在虚拟机vmware中安装centos7.7
如果是新手,建议安装带图形化界面的centos,这里以安装centos7.7的64位为例 一.下载系统镜像 镜像文件下载链接https://wiki.centos.org/Download 阿里云官网 ...
- Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解
一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...
- Linux内核入门到放弃-页面回收和页交换-《深入Linux内核架构》笔记
概述 可换出页 只有少量几种页可以换出到交换区,对其他页来说,换出到块设备上与之对应的后备存储器即可,如下所述. 类别为 MAP_ANONYMOUS 的页,没有关联到文件,例如,这可能是进程的栈或是使 ...
- Linux从入门到放弃(为做一个开发+运维的全能性人才而奋斗)
Linux?听说是一个操作系统,好用吗?” “我也不知道呀,和windows有什么区别?我能在Linux上玩LOL吗” “别提了,我用过Linux,就是黑乎乎一个屏幕,鼠标也不能用,不停地的敲键盘,手 ...
- Linux内核入门到放弃-内核活动-《深入Linux内核架构》笔记
中断 中断类型 同步中断和异常.这些由CPU自身产生,针对当前执行的程序 异步中断.这是经典的中断类型,由外部设备产生,可能发生在任意时间. 在退出中断中,内核会检查下列事项. 调度器是否应该选择一个 ...
- Linux内核入门到放弃-网络-《深入Linux内核架构》笔记
网络命名空间 struct net { atomic_t count; /* To decided when the network * namespace should be freed. */ a ...
- Linux内核入门到放弃-页缓存和块缓存-《深入Linux内核架构》笔记
内核为块设备提供了两种通用的缓存方案. 页缓存(page cache) 块缓存(buffer cache) 页缓存的结构 在页缓存中搜索一页所花费的时间必须最小化,以确保缓存失效的代价尽可能低廉,因为 ...
- Linux内核入门到放弃-时间管理-《深入Linux内核架构》笔记
低分辨率定时器的实现 定时器激活与进程统计 IA-32将timer_interrupt注册为中断处理程序,而AMD64使用的是timer_event_interrupt.这两个函数都通过调用所谓的全局 ...
- Linux内核入门到放弃-无持久存储的文件系统-《深入Linux内核架构》笔记
proc文件系统 proc文件系统是一种虚拟的文件系统,其信息不能从块设备读取.只有在读取文件内容时,才动态生成相应的信息. /proc的内容 内存管理 系统进程的特征数据 文件系统 设备驱动程序 系 ...
- Linux内核入门到放弃-Ext2数据结构-《深入Linux内核架构》笔记
Ext2文件系统 物理结构 结构概观 块组是该文件系统的基本成分,容纳了文件系统的其他结构.每个文件系统都由大量块组组成,在硬盘上相继排布: ----------------------------- ...
随机推荐
- 安装多个版本JDK相关问题
一.前言 因敝人计算器上面安装了多个版本的JDK,其中包括JDK1.6.JDK1.7.JDK1.8,想通过变换环境变量(JAVA_HOME)的形式切换不同的JDK,但是我在安装了JDK1.7并且配置了 ...
- NOI 97 (Vijos 1464)积木游戏(DP)
很普通的DP,设dp[i][j][k]为第i块积木放在第j堆且摆放状态为k的最高高度.方程很容易推出. # include <cstdio> # include <cstring&g ...
- 【bzoj3132】上帝造题的七分钟 二维树状数组区间修改区间查询
题目描述 “第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b),右下角为(c,d)的一个矩形区域内的全部数字加上一个值的操作. ...
- 【bzoj3631】[JLOI2014]松鼠的新家 LCA+差分数组
题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上.松鼠想邀请小熊维尼前来 ...
- POJ2187:Beauty Contest——题解
http://poj.org/problem?id=2187 题目大意:给n个点,求点对最大距离的平方. ———————————————————— 很容易证明最大距离的点对在最大凸包上. 那么就是旋转 ...
- [Leetcode] Maximum depth of binary tree二叉树的最大深度
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- IDEA中使用Docker: 图形化 or 命令行 ,你更稀罕那个??
Docker简介: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 容器是完全使用沙箱机 ...
- spring的RestTemplate使用指南
前言:现在restful接口越来越广泛,而如今很多接口摒弃了传统的配置复杂的webService开发模式,在java领域只需要很简单的springMvc就可以声明为一个控制器,再加上service层, ...
- C/C++中字符串与数字相互转换
数字转字符串: 用C++的streanstream: #include <sstream> #Include <string> string num2str(double i) ...
- 第三方库安装——requests
环境 操作系统:CentOS 6.7 32-bit Python:2.6.6 安装 pip install requests