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

  • -name 按名称搜索
  • -iname 不去分大小写
  • -size 按大小搜索(单位KB)

  +n 大于

  -n 小于

  n 等于

  • -user 按所有者查找
  • -amin 访问时间access
  • -cmin 文件属性change
  • -mmin文件内容modify
  • -a逻辑与
  • -o逻辑或
  • -type按文件类型 f文件 d目录 l软链接
  • -inum按i节点查找

/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

mail

/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从入门到放弃的更多相关文章

  1. Linux从入门到放弃、零基础入门Linux(第四篇):在虚拟机vmware中安装centos7.7

    如果是新手,建议安装带图形化界面的centos,这里以安装centos7.7的64位为例 一.下载系统镜像 镜像文件下载链接https://wiki.centos.org/Download 阿里云官网 ...

  2. Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解

    一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...

  3. Linux内核入门到放弃-页面回收和页交换-《深入Linux内核架构》笔记

    概述 可换出页 只有少量几种页可以换出到交换区,对其他页来说,换出到块设备上与之对应的后备存储器即可,如下所述. 类别为 MAP_ANONYMOUS 的页,没有关联到文件,例如,这可能是进程的栈或是使 ...

  4. Linux从入门到放弃(为做一个开发+运维的全能性人才而奋斗)

    Linux?听说是一个操作系统,好用吗?” “我也不知道呀,和windows有什么区别?我能在Linux上玩LOL吗” “别提了,我用过Linux,就是黑乎乎一个屏幕,鼠标也不能用,不停地的敲键盘,手 ...

  5. Linux内核入门到放弃-内核活动-《深入Linux内核架构》笔记

    中断 中断类型 同步中断和异常.这些由CPU自身产生,针对当前执行的程序 异步中断.这是经典的中断类型,由外部设备产生,可能发生在任意时间. 在退出中断中,内核会检查下列事项. 调度器是否应该选择一个 ...

  6. Linux内核入门到放弃-网络-《深入Linux内核架构》笔记

    网络命名空间 struct net { atomic_t count; /* To decided when the network * namespace should be freed. */ a ...

  7. Linux内核入门到放弃-页缓存和块缓存-《深入Linux内核架构》笔记

    内核为块设备提供了两种通用的缓存方案. 页缓存(page cache) 块缓存(buffer cache) 页缓存的结构 在页缓存中搜索一页所花费的时间必须最小化,以确保缓存失效的代价尽可能低廉,因为 ...

  8. Linux内核入门到放弃-时间管理-《深入Linux内核架构》笔记

    低分辨率定时器的实现 定时器激活与进程统计 IA-32将timer_interrupt注册为中断处理程序,而AMD64使用的是timer_event_interrupt.这两个函数都通过调用所谓的全局 ...

  9. Linux内核入门到放弃-无持久存储的文件系统-《深入Linux内核架构》笔记

    proc文件系统 proc文件系统是一种虚拟的文件系统,其信息不能从块设备读取.只有在读取文件内容时,才动态生成相应的信息. /proc的内容 内存管理 系统进程的特征数据 文件系统 设备驱动程序 系 ...

  10. Linux内核入门到放弃-Ext2数据结构-《深入Linux内核架构》笔记

    Ext2文件系统 物理结构 结构概观 块组是该文件系统的基本成分,容纳了文件系统的其他结构.每个文件系统都由大量块组组成,在硬盘上相继排布: ----------------------------- ...

随机推荐

  1. 安装多个版本JDK相关问题

    一.前言 因敝人计算器上面安装了多个版本的JDK,其中包括JDK1.6.JDK1.7.JDK1.8,想通过变换环境变量(JAVA_HOME)的形式切换不同的JDK,但是我在安装了JDK1.7并且配置了 ...

  2. NOI 97 (Vijos 1464)积木游戏(DP)

    很普通的DP,设dp[i][j][k]为第i块积木放在第j堆且摆放状态为k的最高高度.方程很容易推出. # include <cstdio> # include <cstring&g ...

  3. 【bzoj3132】上帝造题的七分钟 二维树状数组区间修改区间查询

    题目描述 “第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b),右下角为(c,d)的一个矩形区域内的全部数字加上一个值的操作. ...

  4. 【bzoj3631】[JLOI2014]松鼠的新家 LCA+差分数组

    题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上.松鼠想邀请小熊维尼前来 ...

  5. POJ2187:Beauty Contest——题解

    http://poj.org/problem?id=2187 题目大意:给n个点,求点对最大距离的平方. ———————————————————— 很容易证明最大距离的点对在最大凸包上. 那么就是旋转 ...

  6. [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 ...

  7. IDEA中使用Docker: 图形化 or 命令行 ,你更稀罕那个??

    Docker简介: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 容器是完全使用沙箱机 ...

  8. spring的RestTemplate使用指南

    前言:现在restful接口越来越广泛,而如今很多接口摒弃了传统的配置复杂的webService开发模式,在java领域只需要很简单的springMvc就可以声明为一个控制器,再加上service层, ...

  9. C/C++中字符串与数字相互转换

    数字转字符串: 用C++的streanstream: #include <sstream> #Include <string> string num2str(double i) ...

  10. 第三方库安装——requests

    环境 操作系统:CentOS 6.7 32-bit Python:2.6.6 安装 pip install requests