Linux学习日志_基础命令
-
- Linux 哲学:
-
-
-
-
- 测试shell脚本是否有语法错误
- bash单步执行脚本
- hwclock (一般使用:hwclock -r 读取硬件时间)
- 文件系统:
- rm:删除
- cp:copy (默认只复制文件)
- mv:move
- install:(复制后有执行权限)
- cut:
- 文本排序:sort(不影响源文件,只影响显示)
- 文本统计:wc(word count)
- 字符处理:tr 转换或删除字符
- bash及其特性:
- 练习:
- 用户、组、权限:
- 文件权限:r,w,x x:executable
- 各权限的二进制表示:
- 影子口令:
- Linux用户类别:(红帽)
- Linux用户组类别:
- /etc/passwd中字段:
- 用户管理的命令:
- 修改用户账户属性:
- 组管理命令:
- 用户、组练习题:
- 三类用户:
- 练习:
- 练习:
- umask :遮罩码
- 站在用户角度shell类型:
- bash 的配置文件:
- 登陆式shell如何读取配置文件?
- 非登录式shell如何读取配置文件?
- 管道和重定向:> < >> << |
-
- 正则表达式:大多数文本处理工具都支持正则表达式,正则表达式是使计算变得智能化的重要途径,也是重要手段
- 扩展正则表达式:Extended REGEXP
-
-
Linux 哲学:
1.一切皆文件
2.使用纯文本文件保存软件配置信息
3.功能单一的小程序组合完成复杂任务
测试shell脚本是否有语法错误
bash -n 脚本名称
只能大致的测试出一些明显语法错误
bash单步执行脚本
bash -x 脚本名称
写大段脚本时常用
pwd:printing working directory
ls
-l:长格式
文件类型:
-:普通文件
d:目录文件
b:块文件(block)
c:字符串文件(character)
l:符号连接文件(symbolic link files)
p:命令管道文件(pipes)
s:套接字文件(socket)
文件权限:9位,每三位一组:rwxr--r--:rwx(读、写、执行)(属主),r--(属组),r--(其它)
文件硬连接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp):最近一次被修改的时间
访问:access
修改:modify,文件内容发生改变
改变(属性或者元数据改变):change,metadata,元数据(属性数据)
-h:文件大小单位换算 ls -l -h
-a:显示以.开头的隐藏文件(-A:不包含.和..)
-d 查看目录
.:表示当前目录(英文句号)
..:表示父级目录
-i:index node,inode(索引节点)
-r:逆序显示文件
-R:递归显示(recursive)
COMMAND --help
命令手册:manual
man COMMAND
man分章节:
1:用户命令
2:系统调用
3:库调用
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项:(Miscellaneous)
8:管理命令(/sbin , /usr/sbin , /usr/local/sbin)
whatis 显示命令在手册哪个章节
man手册中命令解释:
<>: 必须给出的选项
[]: 可以省略
...:可以出现多次
|:多选一
{}:分组,无特殊意义
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能详尽说明,可能包括每个选项的意义
OPTIOND:说明每个选项的意义
FILES:此命令相关的配置文件
EXAMPLES:使用示例
SEE ALSO :另外参照
翻屏:
向后翻一屏幕:SPACE
向前翻一屏幕:b
向后翻一行:ENTER
向前翻一行:k
查找:
/KEYWORD:向前查找
n:下一个
N:前一个
q:退出
?KEYWORD:向后查找
hwclock (一般使用:hwclock -r 读取硬件时间)
-w:将系统时间同步到硬件时间
-s:将硬件时间同步到系统时间
在线手册/文档:
info COMMAND
file 命令
文件系统:
rootfs:根文件系统
FHS:Linux
/boot:放系统启动相关的文件,如内核、initrd、grub(bootloader)
/dev:设备文件
设备文件:(字体黄色,背景黑色为特殊文件作为访问设备的入口)
块设备:随机访问,数据块
字符设备:线性访问,按字符为单位
设备号:主设备号(major)和次设备号(minor)
/etc:配置文件存放文件夹
/home:用户家目录,每个用户的家目录默认为/home/USERNAME
/root:管理员的家目录
/lib:库文件及内核模块文件目录
/lib/modules:内核模块
库文件:静态库
动态库(win:.dll linux:.so(shared object))
/media:挂载点目录,移动设备
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,内核映射文件
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp:临时文件,/var/temp
/var:可变化的文件,会随系统使用时间增大
/bin:可执行文件,用户命令
/sbin:管理命令
/usr: universal shared read-only
/usr/bin
/usr/sbin
/usr/lib
/usr/lib
/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib
文件夹及文件命名规则:
1.长度不能超过255个字符
2.不能使用/当文件名
3.严格区分大小写
相对路径:与当前位置有关
绝对路径:从根目录开始
使用操作系统干些什么?
文件管理
运行程序
内存管理
设备管理
软件管理
进程管理
网络管理
目录管理
ls
cd
pwd
文件创建和删除
mkdir:创建空目录(路径最后的那个目录才是创建的)
-p:一次性创建多层的目录
-v:详细信息:创建多层的目录展示每层的创建情况
eg:/mnt/test/x/m,y
mkdir -pv /mnt/test/x/m /mnt/test/y
mkdir -pv /mnt/test/{x/m,y}
rmdir:-p 删除一脉单承的目录
命令行展开:
/mnt/test/
a_b,a_c,d_b,d_c
(a+d)(b+c) = ab + ac + db + dc
mkdir -pv /mnt/test/{a,d}_{b,c}
touch:改变时间戳
-a
-m
-t
-c
stat:展示文件或文件系统状态
tree:查看目录树
ASCII:
128个不同字符:
7位二进制
计算机存储数据基本单位:字节8位
nano;简单的文本编辑器
rm:删除
-i 交互式,询问是否删除
-f 强制删除
-r 递归删除目录及文件
-rf 直接删除目录不提示
rm -rf / 删除根目录及其所有目录文件,所有文件会被清空,无法重启系统,绝对致命!!!
cp:copy (默认只复制文件)
cp SRC DEST
-r 递归复制一个目录及目录下所有文件
-R 递归复制一个目录及目录下所有文件
-i
-f
-p
-P 保持复制的链接而不拷贝链接指向的文件
-a 归档复制,常用于备份 (archive)
cp file1 file2 file3(only file3 is destination)
一个文件到一个文件
多个文件到一个目录
cp /etc/{passwd,inittab,rc.d/rc.sysinit} /temp 复制三个文件到/temp/
mv:move
移动文件
mv SRE DEST
mv -t DEST SRC
mv file1 file2(file1 被重命名为 file2)
install:(复制后有执行权限)
-d DIRECTORY... 创建目录
install SRC(文件) DEST 复制文件
install -t DEST(文件) SRC
目录管理总结:ls cd pwd mkdir rmdir tree
文件管理总结:touch cat file (查看文件内容类型) rm cp mv nano
日期时间:date hwclock clock cal
文本处理命令:cat,more,less,head,tail,cut,sort,uniq,grep
对于Linux系统而言,文本文件行结束符是$
windows的文本行结束符是“$+回车”
查看文本类:
cat tac more less head tail
cat:链接并显示
-n
-E
tac:从最后一行开始显示
head:查看前n行(默认10行)
tail:查看后n行(默认10行)
-n
tail -f :查看文件尾部,不退出,等待显示后续追加至此文件的新内容
分屏显示:
more,less
处理文本类:
cut,join,sed,awk
讲cut之前:
data