Linux目录结构
-
- bin (binaries)存放二进制可执行文件
- sbin (superuser binaries)存放二进制可执行文件,只有root才能访问
- etc (etcetera)存放系统配置文件
- usr (unix sharedresources)用于存放共享的系统资源
- home 存放用户文件的根目录
- root 超级用户目录
- dev (devices)用于存放设备文件
- lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt (mount)系统管理员安装临时文件系统的安装点
- boot 存放用于系统引导时使用的各种文件
- tmp (temporary)用于存放各种临时文件
- var (variable)用于存放运行时需要改变数据的文件
- centOS
- 主流
- •目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
- 免费
- •RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个级Linux发行版本
- 更新方便
- •CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!
- 下载网址CentOS 6.x
- CentOS官网:http://www.centos.org/
- CentOS搜狐镜像:http://mirrors.sohu.com/centos/
- CentOS网易镜像:http://mirrors.163.com/centos/
- CentOS北京理工大学镜像:http://mirror.bit.edu.cn/centos/
- 常用命令
- 命令格式:命令 -选项 参数
- 如:ls -la /usr
- ls:显示文件和目录列表(list)
- 常用参数:
- -l (long)
- -a (all) 注意隐藏文件、特殊目录 . 和 ..
- -t (time)
- 内部命令:属于Shell解析器的一部分
- cd切换目录(change directory)
- pwd 显示当前工作目录(print working directory)
- help 帮助
- l外部命令:独立于Shell解析器之外的文件程序
- ls显示文件和目录列表(list)
- mkdir创建目录(make directoriy)
- cp复制文件或目录(copy)
- l查看帮助文档
- 内部命令:help+ 命令(help cd)
- 外部命令:man+ 命令(man ls)
- 操作文件或目录常用命令
- pwd显示当前工作目录(print workingdirectory)
- touch创建空文件
- mkdir创建目录(make directoriy)
- -p父目录不存在情况下先生成父目录 (parents)
- cp复制文件或目录(copy)
- -r递归处理,将指定目录下的文件与子目录一并拷贝(recursive)
- mv移动文件或目录、文件或目录改名(move)
- rm删除文件(remove)
- -r同时删除该目录下的所有文件(recursive)
- -f强制删除文件或目录(force)
- rmdir删除空目录(remove directoriy)
- cat显示文本文件内容(catenate)
- more、less分页显示文本文件内容
- head、tail查看文本中开头或结尾部分的内容
- haed -n 5 a.log 查看a.log文件的前5行
- tail -F b.log 循环读取(follow)
- 常用命令
- wc统计文本的行数、字数、字符数(word count)
- -m统计文本字符数
- -w统计文本字数
- -l统计文本行数
- find在文件系统中查找指定的文件
- find/etc/ -name "aaa"
- grep在指定的文本文件中查找指定的字符串
- ln建立链接文件(link)
- -s对源文件建立符号连接,而非硬连接(symbolic)
- top显示当前系统中耗费资源最多的进程
- ps显示瞬间的进程状态
- -e/-A 显示所有进程,环境变量
- -f全格式
- -a显示所有用户的所有进程(包括其它用户)
- -u按用户名和启动时间的顺序来显示进程
- -x显示无控制终端的进程
- kill杀死一个进程
- kill-9 pid
- df显示文件系统磁盘空间的使用情况
- wc统计文本的行数、字数、字符数(word count)
- 备份压缩命令
- gzip 压缩(解压)文件或目录,压缩文件后缀为gz
- 命令格式:gzip[选项] 压缩(解压缩)的文件名
- -d将压缩文件解压(decompress)
- -l显示压缩文件的大小,未压缩文件的大小,压缩比(list)
- -v显示文件名和压缩比(verbose)
- -num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
- 命令格式:gzip[选项] 压缩(解压缩)的文件名
- bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
- 命令格式:bzip2 [-cdz] 文档名
- -c将压缩的过程产生的数据输出到屏幕上
- -d解压缩的参数(decompress)
- -z压缩的参数(compress)
- -num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
- 命令格式:bzip2 [-cdz] 文档名
- tar 文件、目录打(解)包
- -c建立一个压缩文件的参数指令(create)
- -x解开一个压缩文件的参数指令(extract)
- -z是否需要用 gzip 压缩
- -j是否需要用 bzip2 压缩
- -v压缩的过程中显示文件(verbose)
- -f使用档名,在 f 之后要立即接档名(file)
- gzip 压缩(解压)文件或目录,压缩文件后缀为gz
- 命令格式:命令 -选项 参数
- 学习Linux的好习惯
- 善于查看man page(manual)等帮助文档
- 利用好Tab键
- 掌握好一些快捷键
- ctrl+ c(停止当前进程)
- ctrl+ r(查看命令历史)
- ctrl+ l(清屏,与clear命令作用相同)
- vim文本编辑器
- 特点:
- vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
- 只有命令,没有菜单。
- 简单易学
- vim工作模式
- 插入命令
- i 在光标前插入
- I 在光标当前行开始插入
- a 在光标后插入
- A 在光标当前行末尾插入
- o 在光标当前行的下一行插入新行
- O 在光标当前行的上一行插入新行
- :set nu 显示行号
- :set nonu 取消行号
- gg 到文本的最后一行
- G 到文本的最后一行
- :n 到文本的第n行
- 替换和取消命令
- u undo 取消上一步操作
- Ctrl + r redo,返回undo之前
- r 替换光标所在处的字符
- R 从光标所在处开始替换,按ESC键结束
- 删除命令
- x 删除光标所在处字符
- nx 删除光标所在处后的N个字符
- dd 删除光标所在行。ndd删除n行
- dG 删除光标所在行到末尾行的所有内容
- D 删除光标所在处到行尾的内容
- :5,7d 删除指定范围的行
- 常用快捷键
- shift + zz 保存退出,与":wq"租房作用相同
- v 进入字符可视化模式
- V 或shift +v 进入行可视化模式
- Ctrl + v 进入块可视模式
- 插入命令
- 特点:
- 用户和组账户管理
- Linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
- 配置文件
- 保存用户信息的文件:/etc/passwd
- 保存密码的文件:/etc/shadow
- 用户名
- 密码
- 最后一次修改时间
- 最小间隔时间
- 最大间隔时间
- 警告时间
- 账户闲置时间
- 失效时间
- 标志
- 保存用户组的文件:/etc/group
- 每个用户至少属于一个用户组
- 每个用户组可以包含多个用户
- 同一个用户组的用户享有该组共有的权限
- 格式:
- 组名
- 组密码
- GID 主标识号
- 组内用户列表
- 保存用户组密码的文件:/etc/gshadow
- 用户配置文件:/etc/default/useradd
- Linux用户分类
- 超级用户:(root,UID=0)
- 普通用户:(UID在500到60000)
- 伪用户:(UID在1到499)
- 系统和服务相关的:bin、daemon、shutdown等
- 进程相关的:mail、news、games等
- 伪用户不能登陆系统,而且没有宿主目录
- 操作用户命令
- 添加用户命令:useradd
- -u指定组ID(uid)
- -g指定所属的组名(gid)
- -G指定多个组,用逗号“,”分开(Groups)
- -c用户描述(comment)
- -e失效时间(expiredate)
- 例子:
- useradd-u 888 -g users -G sys,root -c "hr zhang" zhangsan
- passwdzhangsan
- 修改用户命令:usermod(user modify)
- -l修改用户名 (login)usermod -l a b(b改为a)
- -g添加组 usermod -g sys tom
- -G添加多个组usermod -G sys,root tom
- –L锁定用户账号密码(Lock)
- –U解锁用户账号(Unlock)
- 删除用户命令:userdel(user delete)
- -r删除账号时同时删除目录(remove)
- 添加组:groupadd
- -g指定gid
- 修改组:groupmod
- -n更改组名(new group)
- 删除组:groupdel
- groups 显示用户所属组
- 三种基本权限
- r读权限(read)
- w写权限(write)
- x执行权限 (execute)
- 更改操作权限
- chmod修改文件权限命令(change mode)
- 参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)
- 例如:chmod u+x a.txt
- 用数字来表示权限(r=4,w=2,x=1,-=0)
- 例如:chmod 750 b.txt
- rwx用二进制表示是111,十进制4+2+1=7
- r-x用二进制表示是101,十进制4+0+1=5
- RPM命令使用
- rpm的常用参数
- i:安装应用程序(install)
- e:卸除应用程序(erase)
- vh:显示安装进度;(verbose hash)
- U:升级软件包;(update)
- qa:显示所有已安装软件包(query all)
- 结合grep命令使用
- 例子:rmp -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
- rpm的常用参数
- •Yum(全称为 Yellow dog Updater,Modified)
- 是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
- 例子(需要上网,没有网络可以建本地源):
- yum install gcc-c++
- yum remove gcc-c++
- yum update gcc-c++
- 主流