[开启大数据的大门] 第一天: Linux基础操作以及常用的命令
Linux目录结构
- bin (binaries) 存放二进制可执行文件
- sbin (super user binaries) 存放二进制可执行文件,只有root才能访问
- etc (etcetera) 存放系统配置文件
- usr (unix shared resources) 用于存放共享的系统资源
- home 存放用户文件的根目录
- root 超级用户目录
- dev (devices) 用于存放设备文件
- lib (library) 存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt (mount) 系统管理员安装临时文件系统的安装点
- boot 存放用于系统引导时使用的各种文件
- tmp (temporary) 用于存放各种临时文件
- var (variable) 用于存放运行时需要改变数据的文件
Linux常用命令
命令格式:命令 -选项 参数
如:ls -la /usr
- ls:显示文件和目录列表(list)
常用参数:
-l (long)
-a (all) 注意隐藏文件、特殊目录.和…
-t (time)
Linux命令的分类
-
内部命令:属于Shell解析器的一部分
cd 切换目录(change directory)
pwd 显示当前工作目录(print working directory)
help 帮助 -
外部命令:独立于Shell解析器之外的文件程序
ls 显示文件和目录列表(list)
mkdir 创建目录(make directoriy)
cp 复制文件或目录(copy) -
查看帮助文档
内部命令:help + 命令(help cd)
外部命令:man + 命令(man ls)
操作文件或目录常用命令
- pwd 显示当前工作目录(print working directory)
- touch 创建空文件
- mkdir 创建目录(make directoriy)
-p 父目录不存在情况下先生成父目录 (parents) - cp 复制文件或目录(copy)
-r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive) - mv 移动文件或目录、文件或目录改名(move)
常用命令
-
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 显示文件系统磁盘空间的使用情况
-
du 显示指定的文件(目录)已使用的磁盘空间的总
-h文件大小以K,M,G为单位显示(human-readable)
-s只显示各档案大小的总合(summarize) -
free 显示当前内存和交换空间的使用情况
-
netstat 显示网络状态信息
-a 显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-p 显示建立相关链接的程序名 -
ifconfig 网卡网络配置详解
-
ping 测试网络的连通性
查看文件内容
- 不实时更新
cat 全部显示
head -10 显示头部的10行
more 翻页显示 下翻一页(空格) 上翻一页(b) 退出(q)
less 翻页显示 下翻一页(空格) 上翻一页(b) 上翻一行(↑) 下翻一行(↓) 搜索关键字(/word) - 实时查看文件
tail -f
tail -F (文件空间不足时会自动创建新的文件)
后台服务命令
- service
service --status-all 查看系统中所有的后台服务
service --status-all | grep keyword 查询出来的里面是否含有keyword(注:grep 是管道)
service 服务名称 status 查看指定的服务状态
service 服务名称 stop 停止指定服务
service 服务名称 start 启动指定服务
service 服务名称 restart 重启指定服务
chkconfig 查看自动启动的服务
备份压缩命令
-
gzip 压缩(解压)文件或目录,压缩文件后缀为gz
命令格式:gzip [选项] 压缩(解压缩)的文件名
-d将压缩文件解压(decompress)
-l显示压缩文件的大小,未压缩文件的大小,压缩比(list)
-v显示文件名和压缩比(verbose)
-num用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6 -
bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
命令格式:bzip2 [-cdz] 文档名
-c将压缩的过程产生的数据输出到屏幕上
-d解压缩的参数(decompress)
-z压缩的参数(compress)
-num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或-best表示最慢压缩方法(高压缩比)。系统缺省值为6 -
tar 文件、目录打(解)包
-c 建立一个压缩文件的参数指令(create)
-x 解开一个压缩文件的参数指令(extract)
-z 是否需要用 gzip 压缩
-j 是否需要用 bzip2 压缩
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在 f 之后要立即接档名(file)
关机/重启命令
- shutdown系统关机
-r 关机后立即重启
-h 关机后不重新启动 - halt 关机后关闭电源 shutdown -h
- reboot 重新启动 shutdown -r
学习Linux的好习惯
- 善于查看man page(manual)等帮助文档
- 利用好Tab键
- 掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + r(查看命令历史)
ctrl + l(清屏,与clear命令作用相同)
VIM文本编辑器
- vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
- 只有命令,没有菜单。
VIM工作模式
插入命令
定位命令
替换和取消命令
删除命令
常用快捷键
用户和组账户管理
linux操作系统是一个多用户操作系统
,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
配置文件
/etc/passwd格式Linux用户分类
/etc/shadow格式
用户组
/etc/group格式
操作用户命令
- 修改用户命令: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)
第1位:文件类型(d 目录,- 普通文件,l 链接文件)
第2-4位:所属用户权限,用u(user)表示
第5-7位:所属组权限,用g(group)表示
第8-10位:其他用户权限,用o(other)表示
第2-10位:表示所有的权限,用a(all)表示
完整信息:一个文件,所属用户具有读写执行权限;所属组的用户
有读写权限,没有执行权限;其他用户只有读权限
更改操作权限
- 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是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便
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
YUM命令
- Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
- 例子(需要上网,没有网络可以建本地源):
yum install gcc-c++
yum remove gcc-c++
yum update gcc-c++