Linux学习初阶
Linux学习初阶
使用ubuntu学习linux,安装方法与win安装的方法大同小异,看着图形化界面下一步就好了,虽然用图形化界面有点low。
学习linux,其实主要学的就是linux命令,在初级阶段就是如此,学学怎样用命令复制/粘贴啥的。
好了,不说太多,直接进入命令行学习了。
需要注意一点,ubuntu刚安装完,是锁定root,也就是超级管理员权限的。
也就是说在ubuntu刚安装完输入su指令,会出现认证失败的问题。
用su切换,输入密码提示认证失败,这下搞了吧,后来一经查阅原来Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许 su 到 root ,对于桌面用户来说这个可能是为了增强安全性,但是服务器版上的没这个还真不行,赶紧设置下吧。
终端下
studiogang@studiogang:~$ sudo passwd
Password: <--- 输入安装时那个用户的密码
Enter new UNIX password: <--- 新的Root用户密码
Retype new UNIX password: <--- 重复新的Root用户密码
passwd:已成功更新密码
解决了这个小问题,我们就开始学习linux吧,当然学习指的是学习linux指令!
linux安装日志
/root/install.log:存储安装在系统中的软件包机器版本信息
/root/install.log.syslog:存储了安装过程中留下的事件记录
/root/anaconda-ks.cfg:一Kickstart配置文件的格式记录安装过程中设置的选项信息
linux常见目录
/root 超级用户的家目录
/tmp 临时目录
/sbin 命令保存目录(超级用户才能使用的目录)
/proc 直接写入内存的
/sys
/usr 系统软件资源目录
/usr/bin/ 系统命令(普通用户)
/usr/sbin/ 系统命令(超级用户)
/var 系统相关文档内容
常见目录作用
/bin 命令保存目录(普通用户就可以读取的命令)
/boot 启动目录,启动相关文件
/dev 设备文件保存目录
/etc 配置文件保存目录
/home 普通用户的家目录
/llib 系统库保存目录
/mnt 系统挂载目录
/media 挂载目录
linux中的通配符
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
linux命令
命令格式:
命令 【选选个】 【参数】
注意:
个别命令使用不遵循此格式,当有多个选项时,可以卸载一起。
简化选项与完整选项
-a 等于 --all
命令提示符
[root @loaclhost ~]#
其中:
root: 当前登录用户
localhost 主机名
~ 当前所在目录(家目录)
# 超级用户的提示符
普通用户的提示符是$
查询目录中内容:ls
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode
文件权限
使用ls -a这个命令的时候会在开头会显示权限,如
-rw-r--r--
其中开头的第一位表示文件类型:
- 表示文件
d 表示目录
l 表示软链接文件
后面剩下9位,其中每三位代表一个权限组
rw- 是文件所有者所拥有的权限
r-- 是文件所属组所拥有的权限
r-- 最后面的三位代表其他人所拥有的权限
r代表可读, w代表可写入, x代表可执行(此处没显示)
查询所在目录位置:pwd
pwd
命令英文原意:print working directory
建立目录
mkdir -p [目录名]
-p 递归创建
命令英文原意:make directories
路径
相对路径:参照当前所在目录,进行查找
如: [root@localhost ~]# cd ../usr/local/src/
绝对路径:从根目录开始制定,一级一级递归查找,在任何目录路,都能进入指定目录
如: [root@localhost ~]# cd /etc/
切换所在目录:cd
cd [目录]
命令英文原意: change directory
简化操作
cd ~ 进入当前用户的家目录
cd
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
复制命令:cp
cp [选项] [原文件或目录] [目标目录]
命令英文原意:copy
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于-pdr
剪切或改名命令:mv
mv [原文件或目录] [目标目录]
命令英文愿意:move
删除空目录:rmdir
rmdir [目录名]
命令英文原意:remove empty directories
删除文件或目录:rm
rm -rf [文件或目录]
命令英文原意:remove
选项:
-r 删除目录
-f 强制
链接命令:ln
ln -s [原文件] [目标文件]
命令英文原意:link
功能描述:生成链接文件
选项: -s 创建软连接
硬链接与软连接
硬链接特征:
1、拥有相同的i节点和存储block块,可以看作是同一个文件
2、可通过i节点识别
3、不能跨分区
4、不能针对目录使用
软连接特征:
1、类似于windows的快捷方式
2、软连接拥有自己的I节点和block块,但是数据块中只保存原文件的文件名和I节点,并没有实际的文件数据
3、lrwxrwxrwx l软连接
软连接文件权限都为:rwxrwxrwx
4、修改任意文件,另一个都改变
5、删除源文件,软连接不能使用
文件搜索之locate命令格式
locate 文件名
在后台数据库中按文件名搜索,搜索速度快
/var/lib/mlocate
#locate命令所搜索的后台数据库(每次开机才更新)
updatedb
更新数据库(强制更新
/etc/updatedb.conf配置信息
PRUNE_BIND_MOUNTS="yes"
#开启搜索限制
PRUNEFS=
#搜索时,不搜索的文件系统
PRUNENAMES=
#搜索时,不搜索的文件类型
PRUNEPATHS=
#搜索时,不搜索的路径
PATH环境变量
Path环境变量:定义的是系统搜索命令的路径
[root@loaclhost ~]# echo $PATH
/usr/lib/qt03.3/bin:/usr/loacl/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
其中:表示并列符号
文件搜索命令locate
命令搜索命令whereis
whereis 命令名
#搜索命令所在路径及帮助文档所在位置
选项:
-b: 只查找可执行文件
-m: 只查找帮助文件
搜索命令的命令which
which 文件名
#搜索命令所在路径及别名
文件搜索命令find
find [搜索范围] [搜索条件]
#搜索文件
find / -name install.log
#避免大范围搜索,会飞行行耗费系统资源
#fand实在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
find /root -iname install.log
#不区分大小写
find /root -user root
#按照所有者搜索
find /root -nouser
#查找没有所有者的文件
find /var/log/ -mtime +10
#查找10天前修改的文件
-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前丢该的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
find . -size 25k
#查找文件大小是25kb的文件
-25k 小于25k的文件
25k 等于25k的文件
+25k 大于25k的文件
find . -inum 262422
#查找i节点是262422的文件
find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20kb并且小于50kb的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /etc -size +25k -a -size -50k -exec ls -lh {} \;
#查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息
#-exec/-ok命令{} \;对搜索结果执行操作
搜索字符串命令grep
grep [选线] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
find命令与grep命令的区别
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配。
帮助命令man
man 命令
#获取指定命令的帮助信息
man ls
#查看ls的帮助信息
man的级别
1 : 查看帮助的命令
2 : 查看可被内核调用的函数的帮助
3 : 查看函数和函数库库的帮助
4 : 查看特殊文件的帮助(主要是/dev目录下的文件)
5 : 查看配置文件的帮助
6 : 查看游戏的帮助
7 : 查看其他杂项的帮助
8 : 查看系统管理员可用命令的帮助
9 : 查看和内核相关文件的帮助
查看命令拥有那个级别的帮助
man -f 命令
相当于
whatis 命令
举列:
man -5 passwd
man -4 null
man -8 ifconfig
查看和命令相关的所有帮助
man -k 命令
相当于
apropos 命令
例如:
apropos passwd
shell内部命令帮助
help shell内部命令
#获取shell内部命令的帮助
例如:
whereis cd
#确定是否是shell内部命令
help cd
#获取内部命令帮助
详细命令帮助info
info命令
- 回车: 进入子帮助页面(带有*号标记)
- u : 进入上层页面
- n : 进入下一个帮助小节
- p : 进入上一个帮助小节
- q : 退出
选项帮助
命令 --help
#获取命令选项的帮助
例如
ls --help
压缩与解压
.bz2格式的压缩
bzip2 源文件
#压缩为.bz2格式,不保留源文件
bizp2 -k 源文件
#压缩之后保留源文件
注意bzip2命令不能压缩目录
解压bz2文件
bzip2 -d 压缩文件
#解压缩,-k保留压缩文件
bunzip2 压缩文件
解压缩,-k保留压缩文件
.gz格式压缩
gzip 源文件
#压缩为.gz格式的压缩文件,源文件会消失
gzip -c
#压缩为.gz格式,源文件保留
例如: gzip -c yasuowenjian > yasuowenjian.gz
gzip -r
# 压缩目录下所有的子文件,但是不能压缩目录
.gz解压缩
gzip -d 压缩文件
#解压缩文件
gunzip 压缩文件
#解压缩文件
.zip格式压缩
zip 压缩文件名 源文件
#压缩文件
zip -r 压缩文件名 源目录
#压缩目录
.zip格式解压缩
unzip 压缩文件
#解压缩.zip文件
打包命令tar
linux中并没有压缩文件夹的功能,所以如果想压缩文件夹就要先使用tar打包成一个文件,然后再进行压缩
tar -cvf 打包文件名 源文件
选项:
-c: 打包
-v: 显示过程
-f: 指定打包后的文件名
例如:
tar -cvf longzls.tar longzls
#将longzls打包为longzls.tar
解打包命令
tar -xvf 打包文件名
选项:
-x:解打包
例如:
tar -xvf longzls.tar
.tar.gz2压缩格式
tar -jcvf 压缩包名.tar.bz2源文件
选项:
-z:压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
选项:
-x:解压缩.tar.bz2格式
.tar.gz压缩格式
.tar.gz格式是先打包为.tar格式。在压缩为.bz格式
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z:压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
选项:
-x:解压缩.tar.gz格式