本文基于 Red Hat Enterprise Linux 6
一、Linux 入门体验
1.1 root用户登陆
1.2 图形化与纯字符模式切换
init 5 - 图形模式
init 3 - 纯字符模式
1.3 重要热键
Tab —— 自动补全命令
Ctrl+C —— 终止正在运行的程序
Ctrl+d —— 退出字符界面(终端)
1.4 用户和用户组
1.4.1 用户信息存放在 vi /etc/passwd/
1.4.2 用户组—— 访问控制权限
一个用户可以属于不同的组
vi /etc/group/
1.5 文件属性
terminal: ll
eg. - rwx r-x -wx
1.文件类型(1位)
2.文件所有者访问权限(3位)——按位表示,如果不具备则相应位显示-
3.文件所属组用户访问权限(3位)
4.其他用户访问权限(3位)
P.S. "-"普通文件;"x"可执行文件;"d"目录文件
二、Linux 命令详解
2.1 用户管理类命令
useradd [option] username //1.添加用户
userdel [option] [username]//2.删除用户
passwd [option] [username]//3.修改密码
su [option] [username]//4.切换用户
eg. su - root //切换到root用户,并将root用户的环境变量同时带入(option -)
groupadd [option][groupname]//5.添加用户组
groupdel [option][groupname]//6.删除用户组
p.s. 1.clear //清屏
2. /(一个反斜杠表示根目录)
2.2 文件与目录类命令
//1.查看目录(不含隐藏文件)
ls [选项][目录或文件]
ls -a /home // 显示目录下所有文件(含隐藏目录)
ls -l /home // 显示目录下文件的详细信息
//2.跳转工作目录 (Change Directory)
cd 目录名
cd .. //退回到上一级目录
cd - //回到上次访问目录
//3.复制文件/目录(copy)
cp /home/test /temp //将test文件copy到/temp目录下
cp -r /home/dir1 /temp//将dir1目录copy到/temp目录下
//4.移动或更名(move)
mv /home/test /home/test1 //将/home目录下的test文件更名为test1
mv /home/dir1 /temp/ //将dir1 目录移动(剪切)到/temp 目录下
//5.删除文件/目录(remove)
rm /home/test //删除文件
rm -r /home/dir1 //删除目录
//6.改变文件权限 (change mode)
格式: chmod[who][+ |- |= ][mode] 文件名
参数:
/who:
u 表示文件所有者
g 表示与文件所有者同组的用户
o 表示其他用户
a 表示所有用户(default)
/mode:
+ 添加权限
- 取消权限
= 赋予给定权限
chmod u+w hello.c
//7.创建目录 mkdir
//8.查看目录大小
du /temp
//9.查看当前绝对路径
pwd
2.3 压缩打包类命令
//后缀名不同,处理命令不同
*.gz <-> gzip命令压缩的文件
*.bz2 <-> bzip2命令压缩的文件
*.tar <-> tar命令打包的文件
//压缩!=打包
//打包:大小基本不变
*.tar.gz <-> tar 打包后,再经过gzip压缩的文件
*.tar.bz2 <-> tar命令打包后,再经过bzip2压缩的文件
//1.压缩解压 gzip
gzip /root/ks.cfg //压缩 Compression
gzip -d /ks.cfg.gz //解压 Decompression
//2.压缩解压 bzip2
//用法同gzip
bzip2 /root/ks.cfg //压缩 Compression
bzip2 -d /ks.cfg.gz //解压 Decompression
//3.打包压缩 tar
//c表示打包,v表示输出整个过程的详细信息,f表示 后面要跟上输出文件名称,cv顺序可变,f一般放最后
tar cvf tmp.tar /tmp //将tmp目录打包成 tmp.tar文件
tar xvf tmp.tar //将打包文件.tar解开
tar cvzf tmp.tar.gz /tmp //将tmp目录打包为一个 *.tar.gz文件
tar xvzf tmp.tar.gz //将打包文件*.tar.gz解开
//相关选项参数[option]
//区分大小写
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有那些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
2.4 磁盘管理类命令
//1.加载U盘or光盘
mount [option] 设备名 挂载目录
mount /dev/cdrom /mnt
//2.卸载光盘
umount 挂载目录 //前提为退出挂载目录
//3.查看磁盘使用情况 df
df -hl
//4.创建新文件
touch 文件名
//5.文件链接 ln
//类比windows 快捷方式.lnk
ln oldfile hlink //为oldfile文件创建硬链接
ln -s oldfile slink //为oldfile文件创建软链接
P.S. 软硬链接区别
1.Linux链接概念
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
example:常规删除文件后,软连接失效,硬连接仍可访问原文件
2.5 查找类命令
//1. 查找文件or 目录
find 查找路径 -name 文件名
find /root/ -name install.log //查找是否存在
//2. 查找字符串(部分文件名)
//正则表达式查找
//grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
grep "字符串" 路径 [option]
grep "hello" ./ -rn //当前路径下查找包含字符串hello的文件
grep "he*" ./ -rn //当前路径下查找字符串hello开头的文件
2.6 进程管理类命令
//1.查看进程
ps [选项]
ps aux
//2.杀死进程 kill
kill 进程ID
//3.查看内存
free
//4.CPU占有率
top
2.7 杂项命令
//1.软件管理
rpm[option][软件包]
rpm -ivh i686.rpm //install
rpm -qa //查看系统中安装的所有软件包
rpm -e i686 //uninstall,无后缀
//2.管道操作
命令1 | 命令2
rpm -qa|grep tar //分步执行,命令1的输出作为命令2的输入
//查询所有安装包 ,并筛选出含有字符串tar的
//3.查看帮助!!!
//系统文档是最好的学习工具!
man 命令名
man find //查看命令用法
//4.关机
shutdown [option] time
shutdown now