Linux思想
一切皆是文件(逻辑化)
Linux的组成
硬件(hardware)
内核kernel
Shell------用户与操作系统间的接口
应用程序
Linux的文件目录结构--------树型结构,最上层是根目录,安装系统时就已为用户创建了文件系统和完整而固定的目录组成形式
文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织管理上。
/bin----------存放二进制可执行文件(ls,cat,mkdir等)
/dev---------用于存放设备文件
/etc----------存放系统配置文件
/home------存放所有用户文件的根目录,如用户user1的主目录就是/hone/user1
/mnt--------让用户临时挂载其他文件系统
/opt---------额外安装的可选应用程序包放置的位置
/proc--------虚拟的目录,系统内存的映射。可直接访问这个目录来获取系统信息
/root--------超级用户主目录
/sbin--------存放二进制可执行文件,只要root才能访问
/var---------用于存放运行时需要改变数据的文件,某些大文件的溢出区。如日志。
Linux命令
Linux命令区分大小写
ll----查看目录下的目录和文件 ls -l-----查看目录下目录和文件 都可以在后面接目录或文件名,以显示指定目录内的内容 eg: ls -l opt
ls -F ----查看目录中的文件,不显示目录
ls -a ----显示隐藏文件
pwd---查询当前目录路径
cd - 返回上一次所在目录
touch 文档名-----生成新文件
echo “文档内容”>文档名------生成有文档内容的新文件
mkdir --------创建目录 后接多个目录名可创建多个目录
mkdir -p ------在指定目录下创建目录 eg:mkdir -p orange/apple
rmdir--------删除目录 后接多个目录名可删除多个目录 不能删除非空目录和文档
rm -f -------删除文档(只能删文档)
rm -rf -------可删除非空目录和文档等
mv 源目录名 新目录名 --------重命名
mv 目录原位置/源目录名 目标位置/新目录名 ----------移动并命名,可以移动多个文 件,不影响文件内容
cp file1 file2---------将file1复制到file2,并改名为file2
cp orange/* . 将orange内所有文档复制到当前位置,并略过目录
stat 目录名或文档名 -------显示目录或文档详细信息
ln -s file1 link1 ----------软链接,类似快捷方式
ln file1 link1 ----------硬链接,将文档内容复制过去,不能用于目录
cat ---------查看文档内容
cat file1 file2>file3 --------将file1和file2合并成file3 ,两个源文件还在。
tac -------翻序查看文档内容(从最后一行往回显示)
head -2 a.txt -------查看a.txt的前两行 head -n 2 也行
tail -2 a.txt -------查看a.txt的倒数两行 tail -n 2 也行
more ------分页查看 空格键--下一页 q---退出
more -10 ------从第10行开始显示
less -----类似于more,不同的是less还可以通过键盘方向控制查看内容
du -h -------显示文档或目录下所有文档大小
grep 字符串 文档 -------搜索定位字符串所在位置
rpm -qa|grep 查找内容 -----------列出包含查找内容的软件的信息
find -name “*.log” ----------查找当前目录下所有日志文件
find /opt -name a.txt -------从根文件查找名为a.txt的文件
find / -name a.txt ----------搜索属于文件属主的文件
find . -size +6000c ---------在当前目录下查找大于6k的文件
which halt -------显示一个二进制文件或可执行文件的完整路径
which arch-------同上
who --------显示系统内所有的用户
whoami ----显示用户自己的身份(root)
hostname----显示主机名称(huangyuxiang)
uname ---显示当前系统
uname -a -------显示当前系统具体信息
tree -----显示目录下树形结构
yum -y install tree ------在线自动安装tree命令
wc a.txt----显示文档行数
grep 字符串 a.txt ------查找定位字符串所在行
压缩和打包
gzip 源文件 ----压缩文档,压缩后源文档不在,后缀名.gz。不能压缩目录
bzip2 源文件---压缩文档,压缩后源文档不在,后缀名.bz2。不能压缩目录
zip a.txt.zip 源文件------压缩文档,压缩后源文档还在,后缀名.zip。可压缩目录
压缩率 zip>gzip>bzip2
gzip -d -----解压,解压后压缩文件不在
后缀为.gz的压缩文件也可以用gunzip解压
gzip -l ------显示压缩文件大小
gzip -1------快压
gzip -9------慢压
bzip2 -d -----解压,解压后压缩文件不在
后缀为.bz2的压缩文件也可以用bunzip2解压
bzip2 -x ------解压的参数
tar-----打包
tar -c ----打包,打包后源文件还在,后缀.tar。
tar -cvf----打包并显示具体信息
tar -tf -----查看包裹内容
tar -xvf -----解包,解包后原包还在
tar -jcvf ----先压缩后打包,用于.bz2压缩
tar -zcvf ----先压缩后打包,用于.gz压缩
tar -jxvf -----解包并解压,用于.bz2解压
tar -zxvf -----解包并解压,用于.gz解压
bunzip2 * ---------解压当前目录下所有压缩包
tar -cvf 打包后名称 file1 file2 dir1 dir2 ---------同时打包多个文档和目录,源文件还在
tar -cvf 打包后名称 * --------打包当前目录下所有文件和目录
tar -xvf 包名称 -C 目录路径 ---------解包到指定目录,C 为大写
zip a.txt.zip a.zip ---------压缩成zip
unzip a.txt.zip ---------zip解压
zip -r file1.zip file1 file2 dir1 ---------将几个文件和目录同时压缩成一个zip格式的压缩包
zip -r ./a.zip ./* ---------压缩当前的文件夹
安装包
yum list|grep firefox-------在线查找有没有QQ软件包
rpm -ivh firefox.rpm -------在线安装QQ软件包,可以指定安装目录
rpm -e 包名 --------卸载安装包
rpm -q firefox ---------查看是否已安装Firefox
rpm -qa -------查看所有安装包
rpm -qa|grep firefox ------------显示含有firefox的安装包
netstat -anp|grep firefox --------查看firefox端口号
yum -y install package_name 自动下载安装并默认选择y,全自动(支持*)
yum update package_name 在线更新一个rpm包
yum remove package_name 删除一个已经安装好了的rpm包
yum list installed 列出当前系统中已经安装的所有包
yum search package_name 在远端服务器rpm仓库中搜寻软件包
arch --------显示机器的处理器架构(1)
uname -m ------显示机器的处理器架构(2)
uname -a 显示正在使用的内核版本
getconf LONG_BIT -------显示操作系统使用的位数
ps –an|grep 1 (1代表进程号)
ps –an|grep mysql(mysql代表进程名称)
ps –aux :以用户格式来显示所有程序 显示某一瞬间所有的进程号
ps -ef|grep firefox 查看火狐的进程号
clear 清空(不是删除)
磁盘使用情况
du 显示每个目录及子目录的磁盘使用空间
参数
-k 以KB为单位显示内存使用情况。 (默认单位)
-m 以MB为单位显示内存使用情况。
- h 以合适的列表方式显示
df 显示指定文件的可用空间(显示文件系统磁盘空间:总空间、已用与可用数总空间等)
参数
-k 以KB为单位显示内存使用情况。 (默认单位)
-m 以MB为单位显示内存使用情况。
- h 以合适的列表方式显示
free 显示系统内存使用情况
参数
-k 以KB为单位显示内存使用情况。 (默认单位)
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
ifconfig ---------查看本地IP地址
ifconfig eth0 ---------显示一个以太网卡的配置
ifconfig eth0 up ---------启用一个 'eth0' 网络设备
ifconfig eth0 down ---------禁用一个 'eth0' 网络设备
ping 网址 ---------测试网络的连通性 Ctrl+C 退出
netstat -r 查看路由器信息
netstat –an|grep 3306 查看3306端口号使用情况
系统管理命令
top --------动态显示某一瞬间系统中耗费资源最多的进程
history
kill
kill -9
hostname
man
w
ps -C firefox与ps -ef|grep firefox 相同,显示进程pid
shutdown -h now ----------关闭系统
init 0 -------同上
telinit 0 -------同上
reboot -------重启
shutdown -c ---------取消预定关闭系统
VIM编辑器
是一个类似于VI的著名的功能强大、高度可定制的文本编辑器。在VI的基础上改进和新增了很多特性
yun -y install vim 安装
VIM的运行模式
基本模式:可以移动光标,查看文件,不能编辑
插入模式:基本模式下,输入i进入插入模式,可编辑文本。Esc回到基本模式
命令模式:基本模式下,输入:进入命令模式,可输入命令。Esc回到基本模式。删除: ,按i回到插入模式
vim可以编辑文件,若没有该文件,则会新建文件。
:w 另存为
:set number 设置行号
:set nonumber 取消行号
:e file 打开当前目录下的file/切换
vim +7 a.txt ---------打开a.txt并定位到第7行
用户和组账户管理
Linux操作系统是一个多用户操作系统,它允许多用户同时登陆到系统上并使用资源
UID:Linux系统中的每一分用户账户都有一个数字形式的身份标识,原则上每个用户的UID号是唯一的
GID:每一个组账号也有一个数字形式的身份标记
useradd 用户名 ----------添加用户
userdel 用户名 -----------删除用户
useradd –u 1000 newuser 创建一个UID,GID为1000的新用户(默认GID=UID)
passwd 用户名 -----------为新用户设置密码,密码不回显
passwd –d ddd 删除用户ddd的口令
usermod –u [新UID] [用户账户] 修改用户ID为新ID
usermod – u 552 ddd 将用户ddd的UID 更改为552
文件的权限管理
可读-------read------r------4
可写-------write-----w-----2
可执行(修改删除等)-------execut--------x--------1
ll查看后,文件夹行首为d,软连接行首为l,普通文件行首为-。
第二分组指用户本身,u
第三分组指同组用户,g
第四分组指其他用户,o
a指所有用户
- 不具备权限,0
连接文件
链接为Linux解决了文件的共享使用,还带来了隐藏文件庐江、增加权限安全及节省存储等好处
硬链接:该文件的别名,删除硬链接会使硬链接数减一,当剩余0时,则原文件会被删除,即文件真正删除的条件是与之相关的所有硬链接均被删除
软连接:存放的内容是另一文件的路径名的指向,即快捷方式,删除软连接并不影响被指向的文件,但若被指向的原文件删除,则相关的原链接被称为死链接,无用处
修改用户权限
去掉权限
赋予权限
chmod 777 a.txt
chmod a+rwx a.txt
chmod u+x,g+x,o+wx a.txt
chmod ugo+rwx a.txt
chmod ug+x,o+wx a.txt
以上五种表达作用相同,给所有用户赋予可读可写可执行权限
-R -------可递归遍历子目录修改该目录和子目录和文件
当无法给目录上传文件时 可能是目录权限不够,可给目录赋予权限
也可去除其权限,令无法上传文件