ubuntu 文件系统

文件系统:
rootfs:根文件系统

FHS: Linux 文件系统层级标准

ls /
/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
/dev: 设备文件
块设备:随机设备,随机访问,数据块 无所谓顺序,如磁盘、
字符设备: 线性访问 按字符为单位,如显示器、鼠标、键盘
设备号:主设备号(major)和次设备号(minor)
/etc: 配置文件
/home: 用户的家目录,默认为一个用户的家目录通常为/home/USERNAME
/root: 管理员的家目录
/lib: 库文件
静态库 .a
动态库,dll,.so share object
/lib/modules: 内核模块文件

lost+found 与系统无关 丢失与找回
/media:挂载点目录, 移动设备
/mnt:挂载点目录, 额外的临时文件系统
/opt: 可选目录, 第三方程序安装目录 Nessas
/proc:伪文件系统,内核映射文件 这个目录其实是空的,系统启动后,就不是空的
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp: 临时文件,/var/tmp
/var:可变化的文件
/bin: binary 可执行文件,用户命令
/sbin: 管理命令

/usr: universal, share, read-only, 只读文件
/usr/bin
/usr/sbin
/usr/lib

/usr/local: 第三方软件
/usr/local/bin
/usr/local/sbin
/usr/local/lib

命令规则:
1、 长度不能超过255个字符
2、 不能使用/当文件名
3、 严格区分大小写

操作系统
文件管理
目录管理
ls
cd
pwd
mkdir
  -p:
  -v: verbose
/root/x/y/z
/mnt/test/x/m,y
mkdir -pv /mnt/test/x/m /mnt/test/y
mkdir -pv /mnt/test/{x/m,y}

命令行展开
/mnt/test2/
a_b , a_c, d_b, d_c
{a,b}_{b,c}

tree 查看目录树
rmkdir 只能删除空目录

文件的创建和删除
touch --主要用来修改时间戳(Acess Modify Change)
-c -no-create 不创建文件
改时间戳
-a
-m
touch -m -t 2012121212 FILENAME

stat --显示文件或文件系统的状态信息

创建文件还可以使用文本编辑器

ASCII
128个不通的字符
二进制:2^7=0,127
标准:GB18030 GBK, GB2312, Unicode 字符集

nano 文本编辑器
nano hello

删除文件: rm
    -i
    -f
    -r

1、创建目录
  (1)在/mnt下创建boot和sysroot:
  (2)在/mnt/boot下创建grub:
  (3)在/mnt/sysroot下创建proc, sys, bin, sbin, lib, usr, var, etc, dev, home, root, tmp
      a)在/mnt/sysroot/usr下创建bin, sbin, lib
      b)在/mnt/sysroot/lib下创建modules
      c)在/mnt/sysroot/var下创建run, log, lock
      d)在/mnt/sysroot/etc下创建init.d

复制和移动文件

cp: copy
cp SRC DEST
  -r 递归复制
  -f
  -p
  -a: 归档复制,常用于备份
  -l --link link files instead of copying
  -L --dereference always follow symbolic links
  -P --no-dereference keep link

cp file1 file2 file3
一个文件到一个文件
多个文件到一个目录 可以多个源一个目标
cp /etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/

mv:move
移动文件
mv SRC DEST
mv -t DEST SRC
移动目录,文件
修改文件目录名

install ---copy files and set attributes
  -d DIRECTORY
  -m -set permission mode
install -t DIRECTORY SRC

install -d /tmp/{install.1, install.a} 创建目录
install /etc/passwd /var/tmp/install.file1 复制文件,有执行权限

install 不能复制目录 install 文件


自由软件
开源协定:版权描述

如果获取Linux当前最新的内核版本号?
www.kernel.org
列出你所了解的内Linux发行版,并说明其跟Linux内核的关系。
Linux, GNU/Linux kernel+GUN的软件 软件以源代码的形式提供

把源代码 进行链接 编译 添加自己的logo
发行版:Fedora, RedHat(CentOS),SUSE, Debian(ubuntu, Mint),Gentoo,LFS(Linux from Scratch)

深度使用Linux的工具LFS
高手一般使用Debian
编译 将源代码转换为当前硬件系统可以执行的二进制代码

RedHat: 通用格式 32位的版本装到64位上

奔腾:酷睿 并不能很好的使用最新cpu的新特性,最好是在本机上编译

file
tree 查看目录树
目录管理:
ls、cd、mkdir、tree
文件管理:
touch、 stat、file(查看文件内容类型)、rm、cp、mv、nano
日期时间:
date、 clock、hwclock、cal

查看文本:
cat、tac、more、less、head、tail

cat:concatenate files and print on the screen链接并显示
cat /etc/issue /etc/fstab
cat:
  -n 显示行号
  -E 显示每行的显示符 对于Linux系统而言文本行结束符合是$,Windows的文本行结束符是$+ENTER
  -A 显示所有字符

shift + pageup pagedown
分屏显示命令:
more、less

more :支持想后翻 空格 b k
more /etc/rc.d/rc.sysint

less:
space k /: b ENERT q

head:查看前n行
tail:查看后n行 默认10行

head /etc/inittab
head -n 2 /etc/inittab
head -5 /etc/inittab

tail -f --follow 查看文件尾部,不退出,等待显示后续加追加至此文件的新内容。

任何时候都不要否定自己要有信息。墨菲定律,有信心不盲目

文本处理:
cut、join、sed、awk

database:

关系型数据库:
表:二维表 行列
文本文件:
Tome:23:male:2013/05/06
显示文本文件的某个部分

cut:
  -d:指定字段分隔符。默认是空格
  -f:指定要显示的字段
  -f 1,3
  -f 1-3

cut -d : -f1 /etc/passwd

文本排序:sort
sort对输出显示的内容排序
  -n: 数值排序
  -r: reverse 降序
  -t:字段分隔符
  -k:以哪个字段为关键字进行排序
  -u:unique 排序后相同的行只显示一次
  -f:排序时不区分大小写

sort /etc/fstab 默认升序 ASCII表的顺序
sort -t: -k3 -n /etc/passwd

uniq --report or omit repeated lines (相邻且重复)
  -d:repeated 只显示重复的行
  -D: 显示所有重复的行
  -c:显示某一行重复的次数

文本统计: wc(word count) 行 单词数 字节数
  -l
  -w
  -c
  -L --max-line-length

字符处理命令tr
tr: -- translate or delete character

tr [OPTION]... SET1 SET2
-d: 删除出现在字符集中的所有字符

tr 'ab' 'AB'
tr 'a-z' 'A-Z' < /etc/passwd
tr -d 'ab'

原文地址:https://www.cnblogs.com/chrisDuan/p/4479009.html