自己总结的关于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常用命令
1 内部命令:属于Shell解析器的一部分
cd 切换目录(changedirectory)
cd .. 返回到上一级目录
pwd 显示当前工作目录(print working directory)
help 帮助
2 外部命令:独立于Shell解析器之外的文件程序
ls 显示文件和目录列表(list)
mkdir 创建目录(make directoriy)
分别创建:mkdir/itcast/src
mkdir/itcast/WebRoot
同时创建:mkdir/itcast/{src,WebRoot}
cp 复制文件或目录(copy)
3 查看帮助文档
内部命令:help + 命令(help cd)
外部命令:man + 命令(man ls)
4 文件相关命令
pwd 显示当前工作目录(printworking directory)
touch 创建空文件
分别创建:touch .classpath
touch README
同时创建: touch{.classpath,README}
mkdir 创建目录(make directoriy)
-p 父目录不存在情况下先生成父目录(parents)
echo 追加、创建
echo"this is test" > test.txt 创建一个test.txt文件,同时写入内容"thisis test"
cp 复制文件或目录(copy)
-r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)
mv 移动文件或目录、文件或目录改名(move)
rm 删除文件(remove)
-r 同时删除该目录下的所有文件(recursive)
-f 强制删除文件或目录(force)
-rf 删除目录下所有文件
rmdir 删除空目录(removedirectoriy)
cat 显示文本文件内容 (catenate)
将一个文件的内容复制到里另一个文件中 cat a.txt > b.txt
追加内容 cat a.txt>> b.txt
more、less 分页显示文本文件内容
head、tail查看文本中开头或结尾部分的内容
head -n 5 a.log 查看a.log文件的前5行
tail -F b.log 循环读取(follow)
stat 查看文件详情
stata.txt
5 常用命令
wc 统计文本的行数、字数、字符数(wordcount)
-m 统计文本字符数
-w 统计文本字数
-l 统计文本行数
find 在文件系统中查找指定的文件
find /etc/ -name "aaa"
将目前目录及其子目录下所有扩展名是java的文件列出来: find -name "*.java"
查找当前目录下扩展名是java的文件: find -name *.java
删除当前目录下扩展名是java的文件: rm -f*.java
从某个文件夹开始查找: find/ -name "hadooop*"
find / -name "hadooop*" –ls
查找用户为hadoop的文件: find/usr -user hadoop –ls
查找用户为hadoop并且(-a)拥有组为root的文件 find /usr-user hadoop -a -group root -ls
grep 在指定的文本文件中查找指定的字符串
grephadoop /etc/password
ln 建立链接文件(link)
-s 对源文件建立符号连接,而非硬连接(symbolic)
top 显示当前系统中耗费资源最多的进程
ps 显示瞬间的进程状态
-e /-A 显示所有进程,环境变量
-f 全格式
-a 显示所有用户的所有进程(包括其它用户)
-u 按用户名和启动时间的顺序来显示进程
-x 显示无控制终端的进程
kill 杀死一个进程
kill -9 pid
kill –signal pid 若不加参数就是使用15杀死的,这相对于正常结束程序,停止的时候会释放占用的资源,若加了-9,就是强制结束,不产生退出信号。
df 显示文件系统磁盘空间的使用情况
du 显示指定的文件(目录)已使用的磁盘空间的总
-h文件大小以K,M,G为单位显示(human-readable)
-s只显示各档案大小的总合(summarize)
free 显示当前内存和交换空间的使用情况
netstat 显示网络状态信息
-a 显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-p 显示建立相关链接的程序名
ifconfig 网卡网络配置详解
ping 测试网络的连通性
6 系统命令
hostname 查看主机名
hostname hadoop 修改主机名(重启后无效)
vi /ect/sysconfig/network 修改主机名(重启后永久生效)
ifconfig eth0 192.168.12.22 修改IP(重启后无效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改IP(重启后永久生效)
uname -a 查看系统信息
uname -r
id -u查看ID命令
id -g
date 日期
date +%Y-%m-%d
date +%T
date +%Y-%m-%d" "%T
cal 2012 日历
file filename 查看文件信息
mount 挂载硬盘
Umount
mount -t iso9660 -o ro /dev/cdrom/mnt/cdrom/ 将设备/dev/cdrom挂载到挂载点 /mnt/cdrom中
du -h 查看文件大小
du -ah
df -h查看分区
Ssh
ssh hadoop@192.168.1.1
shutdown -h now /init 0 关机
shutdown -r now /reboot
7 备份压缩命令
命令格式:gzip [选项] 压缩(解压缩)的文件名
-d将压缩文件解压(decompress)
-l显示压缩文件的大小,未压缩文件的大小,压缩比(list)
-v显示文件名和压缩比(verbose)
-num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
命令格式:bzip2 [-cdz] 文档名
-c将压缩的过程产生的数据输出到屏幕上
-d解压缩的参数(decompress)
-z压缩的参数(compress)
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
命令格式:tar [-zxvf] 文档名 [-C 解压目的文件夹]
-c 建立一个压缩文件的参数指令(create)
-x 解开一个压缩文件的参数指令(extract)
-z 是否需要用 gzip 压缩
-j 是否需要用 bzip2 压缩
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在 f 之后要立即接档名(file)
压缩:先打包,再用gzip压缩
分步完成:tar -cvfitcast.tar itcast
gzip itcast.tar
一步完成:tar-zcvf itcast.tar.gz itcast
8 关机/重启命令
shutdown 系统关机
-r 关机后立即重启
-h 关机后不重新启动
halt 关机后关闭电源 shutdown -h
reboot 重新启动 shutdown -r
9 快捷键
ctrl + c(停止当前进程)
ctrl + r(查看命令历史)
ctrl + l(清屏,与clear命令作用相同)
ctrl + q (退出)
10 VI文本编辑器
最基本用法 vi somefile.4
--首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容
--按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
--编辑完成之后,按Esc键退出编辑模式,回到一般模式;
--再按:,进入“底行命令模式”,输入wq命令,回车即可
快捷键
小写I : 在光标前插入
大写I:在光标当前所在行开始插入
大写I : 在光标后插入
大写A:在光标当前行末尾插入
gg :到文本第一行
G:到文本最后一行
dd: 删除光标所在行 ndd删除N行
yy:复制一行
3yy : 复制3行
p :粘贴
11 用户和组账户管理
保存用户信息的文件:/etc/passwd
超级用户:(root,UID=0)
普通用户:(UID在500到60000)
伪用户:(UID在1到499)
保存密码的文件:/etc/shadow
保存用户组的文件:/etc/group
每个用户至少属于一个用户组
每个用户组可以包含多个用户
同一个用户组的用户享有该组共有的权限
保存用户组密码的文件:/etc/gshadow
用户配置文件:/etc/default/useradd
12 操作用户命令
useradd 添加用户命令
-u 指定组ID(uid)
-g 指定所属的组名(gid)
-G 指定多个组,用逗号“,”分开(Groups)
-c 用户描述(comment)
-e 失效时间(expire date)
例子:
useradd -u 888 -g users -G sys,root -c "hr zhang" zhangsan
passwd zhangsan
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)
13 操作用户组命令
groupadd 添加组
-g 指定gid
groupmod 修改组
-n 更改组名(new group)
groupdel 删除组
groups 显示用户所属组
实例:添加一个tom用户,设置它属于users组,并添加注释信息
分步完成:useraddtom
usermod -g users tom
usermod -c "hr tom" tom
一步完成:useradd-g users -c "hr tom" tom
设置tom用户的密码 passwd tom
修改tom用户的登陆名为tomcat : usermod -l tomcat tom
将tomcat添加到sys和root组中 usermod -G sys,root tomcat
查看tomcat的组信息 groups tomcat
添加一个jerry用户并设置密码 useradd jerry
passwd jerry
添加一个交america的组 groupadd america
将jerry添加到america组中 usermod -g america jerry
将tomcat用户从root组和sys组删除 gpasswd -d tomcat root
gpasswd -d tomcat sys
将america组名修改为am : groupmod -n am america
14 权限管理
第1位:文件类型(d 目录,- 普通文件,l 链接文件)
第2-4位:所属用户权限,用u(user)表示
第5-7位:所属组权限,用g(group)表示
第8-10位:其他用户权限,用o(other)表示
第2-10位:表示所有的权限,用a(all)表示
完整信息:一个文件,所属用户具有读写执行权限;
所属组的用户 :有读写权限,没有执行权限;
其他用户只有读权限
--x:可以cd进去
r-x:可以cd进去并ls
-wx:可以cd进去并touch,rm自己的文件,并且可以vi其他用户的文件
-wt:可以cd进去并touch,rm自己的文件
15 更改操作权限
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
将当前目录下的所有文件与子目录皆设为任何人可读取: chmod -R a+r *
将a.txt的用户拥有者设为users,组的拥有者设为jessie:chown users:jessie a.txt
将/cast目录下的所有文件与子目录的拥有者设为root,用户拥有组为users :chown -R root:users /cast
16 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