# linux 一切皆文件 1. 程序小而专一,程序要尽量小,且只专注于一件事。 2. 程序不只要考虑性能,还要考虑移植性,shell、perl、python。 python比c具有更好的移植性。 3. 一切皆文件,尽量使用文本来存储数据,避免使用二进制来,因为文本可读性更强。且可以被awk、sed、grep处理 4. 管道的支持是非常重要的 5. 任何的程序都要考虑被批处理执行。
boot #存放启动文件 dev #存放设备文件 etc #存放配置文件 home #普通用户家目录、以/home/$username的形式存放 media #移动存储自动挂载目录,以/media/$device_name的形式来存放 mnt #手动挂载目录 opt #第三方软件安装目录 proc #内存系统文件 root #管理员家目录 run #里面的文件是系统运行时需要的,不能随便删除,但是重启的时候应该抛弃,下次系统运行时重新生成 srv #服务相关数据 sys #系统文件 tmp #临时文件 usr #存放库文件、文档、命令 var #日志存放 lib #库文件
命令【命令选项】【参数】 学会看语法 {必选项}【可选项】 举例: ls -a /tmp 等价 ls --all /tmp 说明: ls #命令 -a #命令选项 简写使用- 全写 -- /tmp 参数
内部命令: 内部命令是linux内核自带的,执行效率更高 外部命令: 需要安装后才能使用,但是系统默认已经安装了很多外部命令,供大家使用 系统90%都是外部命令 如何区分是内部命令?还是外部命令? 使用type 命令来区分是内部命令,还是外部命令 type type # type 是shell 内嵌 type clear # clear 是/usr/bin/clear 外部命令存在哪? echo $PATH # /usr/local/sbin # /usr/local/bin # /usr/sbin # /usr/bin #区别: bin的命令任何人都可以使用 sbin的命令为特权命令,只能管理员使用
1) 清屏命令: clear 快捷键 ctrl+l (CTRL+L) 2) 帮助命令: man 3) 进入文件夹命令: cd 4) 列出当前目录内容命令: ls [-a -l -d ] 5) 显示主机名: hostname 6) 显示日期时间: date [-s %F] 7) 显示日历: cal 8) 计算器: bc 9) 重启命令:reboot、 shutdown -r、 init 6 reboot 普通用户可以使用 三个命令管理员都可以使用 10) 注销命令: logout 11) 关机命令: halt、 shutdown -h、 init 0 halt: 普通用户可以使用 三个管理员都可以使用 12) 显示当前操作系统和机器的信息: uname 13) 显示当前路径: pwd
touch #新建命令 rm #删除命令 mv #改名 ls #查看
命令语法: touch 【选项】【参数】 命令选项: -a #只修改文件的access(访问)时间 -c 或 --no-create #不创建不存在的文件 -d #使用指定的日期时间,而非现在的时间 -m #指修改Modify(修改)时间,而不修改access(访问)时间 -r file # 使用指定file文件的时间戳(access,modify)更新文件的时间戳(access,modify) -t #将时间修改为参数指定的日期,如:10011150 代表10月8号11点55分 举例: touch 123 #创建一个文件,名称为:123 touch a b c #同时创建3个文件,名称分别为:a b c stat 123 # 显示文件详细信息 ,文件由inode 和 block块组成, inode里存储元数据信息, block存储具体内容 #3time atime #最近访问时间 mtime #文件内容修改时间 ctime #文件元数据创建时间 i节点发生变化,比如:文件名发生变化
rm -i # 删除前逐一询问确认 rm -f # 强制删除 rm -r # 将目录及以下子文档删除,即:递归删除
# 文件改名 # 命令语法 mv old_file new_file 命令选项 -b #若需要覆盖文件,覆盖前先备份 -i #若指定目录已有同名文件,询问是否覆盖文件 -f #force 强制 如果目标文件已存在,直接覆盖,不再询问 -u # 若目标文件 已经存在,且source较新,才会更新
- #普通文件 d #目录 l #链接 b #设备文件 c #字符设备 s #套接字文件 p #管道文件
#拷贝文件 命令语法 cp 【命令选项】 源文件或目录 目标目录 命令选项 -a # 通过在复制目录时使用,它保留链接、文件属性、并复制目录下的所有内容 -d # 复制时保留链接,链接相当于windows中的快捷方式 -f # 覆盖目标文件(若存在),且不给出提示 -i # 询问是否覆盖(若存在) -p # 复制文件内容,同时复制修改时间,访问权限 -r # 递归复制子目录和文件 -l # 不复制文件,只是生成链接文件
#文件查看常用的3个命令 cat head tail
#cat命令用于连接文件并打印到标准输出设备上 #命令语法 cat 【命令选项】【文件列表】 # 命令选项 -n 或 -number
#输出文件的开始部分 #命令语法 head【命令选项】【参数】 head 【option】【file】 -n -f
#输出文件的末尾部分 #命令语法 tail 【命令选项】【参数】 tail 【option】【file】
mkdir命令 mkdir #建立目录 命令语法 mkdir 【命令选项】【参数】 mkdir 【option】【directory】 mkdir -p # 递归创建目录 rmdir #删除目录 rmdir -p #递归删除空目录
vim # 只是一个文本编辑器 #命令模式,默认是命令模式 #在此模式下,用户可以输入命令来进行文件存盘、移动光标、删除字符、撤消命令和重复命令等操作、还可以设置vim的编辑环境 esc键: #插入模式 # 在插入模式下可以删除字符,也可以插入字符 i: a: o: #末行模式 # 在末行模式下,可以进行保存文件、退出vim、进行查找和替换等操作。 : 在命令行模式下输入冒号:,即可进入末行模式,在末行模式下 :q 退出 :q! 强制退出不保存(适用于文件个性后,强制退出不保存 :w 保存 :wq 保存并退出 #替换模式 # 替换字符 r: