Linux基本学习一
Linux各目录的作用:
/bin/:存放系统命令的目录,普通用户和超级用户都可以执行。不过放在/bin下的命令在单用户模式下也可以执行
/sbin/:保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户查看
/usr/bin/:存放系统命令的目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行
/usr/sbin/:存放根文件系统不必要的系统管理命令,例如多数据服务程序。只有超级用户可以使用
/boot/:系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序文件等。
/dev/:设置文件保存位置。用来保存所有硬件设备文件。
/etc/:配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务的配置文件全部都保存在这个目录中。如账户和密码。服务的启动脚本,常用服务的配置文件等。
/home/:普通用户的家目录。建立每个用户时,每个用户要有一个默认登录位置。这个位置就是这个用户的家目录,所有普通用户的家目录就是在/home下建立和用户名相同的目录。
/lib/:系统调用的函数库保存位置
/opt/:第三方安装的软件保存位置。这个目录就是放置和安装其他软件的位置。我手工安装的源码包软件都可以安装到这个目录中。当然还可以把安装软件放置到/usr/local/目录当中
/proc/:虚拟文件系统,该目录中的数据并不保存到硬盘中,而是保存到内存当中。主要保存系统的内核,进程,外部设备状态和网络状态。
/sys/:系统文件目录
/root/:超级用户的家目录。普通用户家目录在/home下
/srv/:服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需的数据。
/tmp/:临时目录。系统存放临时文件目录,该目录所有用户都可以访问和写入,
/usr/:系统软件资源目录。是"Unix software Resource"的缩写,所以不存放用户数据,而是存放系统软件资源的目录,系统中安装的软件大多数保存在这里。
/var/:动态数据保存位置。主要保存缓存,日志已经软件运行所产生的文件
linux下严格区分大小写
ctrl+L 或者clean:清屏
ip addr:查看linuxIP地址
ifconfig eh0 192.168.174.122
ctrl+c:退出
Tab自动补全
ls:显示目录文件-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
ls -l /tmp/Japan
mkdir:创建目录
-p 递归创建(多级目录)
mkdir -p /tmp/Japan/boduo /tmp/Japan/longze
rmdir:删除多个空目录
rmdir /tmp/Japan/boduo /tmp/Japan/longze
cd:切换目录(切换到指定目录;切换到上一级目录)
cd /tmp/Japan/boduo
cd /root
cd ../
pwd:显示当前目录
如/tmp/Japan
cp:复制多个文件或者目录
-r 复制目录
-p 保留文件属性
cp -rp /tmp/Japan/boduo /tmp/Japan
mv:剪切多个文件,改名
mv /tmp/Japan/longze /tmp/lonze2
rm:删除多个文件
-r 删除目录
-f 强制删除
rm -rf /tmp/Japan/cangjing
rm -rf /tmp/*.war
删除tmp目录下所有结尾以war的文件
touch:创建文件
touch /tmp/Japanlovestory.list
cat:显示文件内容
-n 显示行号
cat -n /etc/services
more:分页显示文件内容
空格或者f 翻页
enter 换行
q或者Q 退出
more /etc/services
tail:显示文件后几行
-n 指定行数
-f 动态显示文件末尾内容
tail -f /etc/services
ln:生成软链接文件
-s 创建软链接
ln -s /etc/issue /tmp/issue.soft 软链接
ln -s /etc/issue /tmp/issue.hard 硬链接
软链接与硬链接的区别:
软链接:类型windows的快捷方式文件权限都为rwxrwxrwx;文件大小只是符号链接;箭头指向源文件
硬链接:相当于cp -p+同步更新;通过i节点识别;不能跨分区;不能针对目录使用
find:文件搜索
find /etc -name init
在目录etc下精确查找文件
find /etc -name *init*
在目录etc下模糊查找文件
find /etc -name init*
在目录etc下查找以init开头的文件
find /etc -name init???
在目录etc下查找以init开头的匹配3个字符的文件 执行结果为/etc/inittab,区分大小写
find /etc -iname init???
在目录etc下查找以init开头的匹配3个字符的文件 执行结果为/etc/inittab,不区分大小写
find / -size +204800
在根目录下查找大于100MB的文件
+n大于 -n小于 n等于
find /home -user longze
在home目录下查找所有着为longze的文件
-group 根据所属组查找
find /etc -size +163840 -a -size -204800
在/etc目录下查找大于80MB小于100MB的文件
-a 两个条件同时满足
-o 两个条件满足任意一个条件即可
find /etc -name inittab -exec ls -l {} \;
在/etc目录下查找inittab文件并显示其详细信息
find /etc -name init* -a -type -f
在/etc目录下查找以init开头并且类型为文件类型
grep:grep -iv[指定字串][文件]在文件中搜索指定字串
-i 不区分大小写
-v 排除指定字串
grep mysql /root/install.log
查看命令帮助文档
ls --help
rm --help
useradd:添加新用户
useradd liming
passwd liming
给用户liming添加密码(不添加密码无法登录)
grep liming /etc/passwd 用户信息文件
grep liming /etc/shadow 用户影子文件
grep liming /etc/group 用户组
grep liming /etc/gshadow
userdel -r liming 删除用户
-r 删除用户的同时删除用户家目录
su - root 切换用户
who:查看用户登录信息
gzip:压缩文件,压缩后格式.gz
gzip boduo
特点:1.只能压缩文件不能压缩目录2.不保留源文件
gunzip:解压缩.gz的压缩文件
gunzip boduo
tar:打包目录,压缩后格式.tar.gz
-c 打包(create)
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩
tar -zcvf Japan.tar.gz Japan
特点:1.既可以压缩文件也可以压缩文件2.保留文件
tar命令解压缩:
-x 解包
-v 显示详细信息
-f 指定解压文件
-z 解压缩
tar -zxvf Japan.tar.gz
zip:压缩文件或目录,压缩后格式.zip
-r 压缩目录
zip boduo.zip boduo
压缩文件
zip -r Japan.zip Japan
压缩目录
特点:1.既可以压缩文件也可以压缩文件2.保留文件
unzip:解压.zip压缩文件
unzip boduo.zip
bzip2:压缩文件,压缩后格式.bz2
-k 压缩文件后保留源文件
bzip2 -k boduo
tar -cjf Japan.tar.bz2 Japan
打包并压缩目录
bunzip2:解压缩
-k 解压缩后保留源文件
bunzip2 -k boduo.bz2
tar -xjf Japan.tar.bz2
解压缩bz2压缩文件
ifconfig:查看和设置网卡信息
ifconfig eth0 192.168.174.123
ip addr:查看IP地址
netstat:显示网络相关信息
-t tcp协议
-u udp协议
-l 监听
-r 路由
-n 显示IP地址和端口号
netstat -tlun 查看本机监听的端口号
netstat -an 查看本机所有的网络连接
netstat -rn 查看本机路由
setup:配置网络(设置永久网络)
vi /etc/syscofig/network-scripts/ifcfg-eth0
把ONBOOT="no"修改为yes 启动网卡
service network restart 重新启动网络
shutdown:关机
-c 取消当前一个关机命令
-h 关机
-r 重启
shutdown -h now 现在关机
shutdow -r now 现在重启
重新启动:reboot,init 6
logout:退出登录
vim编辑文件模式
a 在光标所在字符后插入
A 在光标所在行尾插入
i 在光标所在字符前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行
插入:“a i o”
保存退出:":wq"
不保存退出:":q!"
显示行号:":set nu"
取消行号:":set nonu"
到第一行:"gg"
到最后一行:"G"
到第几行:":n"
删除光标所处字符:x
删除光标所处后n个字符:nx
删除光标所在行:dd
删除光标所在行道文件末尾内容:dG
删除光标所处到行尾内容
命令模式:ESC
复制当前行:yy
剪切当前行:dd
p:粘贴在当前光标所在行下面
P:粘贴在当前光标所在行的上面
取消上一步操作:u
源码安装包安装在指定位置如:/usr/local/软件名
相当于windows下的Program Files
如按照mysql /usr/local/mysql
将内容写入某个文件中
echo "www.baidu.com" >> /tmp/test/test.txt
df -h 查看分区使用状况
du -ah 统计目录大小
free -m 查看内存与缓存使用状况
sudo -i 由跳板机状态跳转到linux命令状态
补充:
shell脚本执行
通过赋予执行权限直接运行
chmod 755 hello.sh
./hello.sh 或者/root/sh/hello.sh
通过Bash调用执行脚本
bash hello.sh
多行命令执行顺序:
命令1;命令2;命令3
表示多个命令顺序执行,命令直接没有任何逻辑联系
命令1&&命令2&&命令3
当命令1正确执行则命令2才会执行,当命令2正确执行,则命令3才会执行,当命令1执行不正确,则命令2,命令3都不会执行
命令1||命令2||命令3
当命令2执行不正确,则命令2才会执行,当命令1正确执行,则命令2不会执行
管道符命令(经常用)
命令1|命令2
命令1的正确输出作为命令2的操作对象
netstat -an | grep "ESTABLISHED"
通配符:
? 匹配任意一个字符
如:ls *.abc
* 匹配0个或任意多个字符
如:rm -rf *.war
[] 匹配中括号中任意一个字符。例如[abc]表示一定匹配一个字符,a或b或c
如:ls [abc]
[-] 匹配中括号中任意一个字符"-"表示范围。例如[a-z]代表匹配任意一个小写字母
如:ls [a-z]
[^] 逻辑非表示匹配不是中括号中的一个字符。例如[^0-9]代表匹配一个不是数字的字符
如:ls [^0-9]