Liunx 操作系统是程序员必备技能之一。
文章目录
Linux概述
什么是Linux
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,它还被当作服务器,甚至当作网络防火墙,这是Linux的一大亮点。
基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
Linux系统介绍
登录说明
- 目录:
/
表示根目录,~
表示用户存放数据的根目录 - 用户类型:
#
超级用户,$
普通用户
在linux下每个用户都有不同的权限,普通用户只能在自己的主目录下进行写操作。
Linux的目录结构
常见目录说明:
- bin: 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里
- boot: 存放用于系统引导时使用的各种文件
- dev: 用于存放设备文件
- etc: 存放系统配置文件
- home: 存放所有用户文件的根目录
- lib: 存放根文件系统中的程序运行所需要的共享库及内核模块
- lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
- mnt: 系统管理员安装临时文件系统的安装点
- opt: 额外安装的可选应用程序包所放置的位置
- root: 超级用户(系统管理员)的主目录
- sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等
- usr: 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
- var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等
注意:Linux系统的文件系统是以斜杠“/”开始,不是windows中的盘符概念
Linux系统的文件权限
文件介绍
drwxr -xr -x | 75 | root root | 8192 | 2月28 14:41 | etc |
---|---|---|---|---|---|
文件类型及权限 | 连接数 | 文档所属用户和用户组 | 文件大小 | 文档最后被修改的日期 | 文档名称 |
三种基本权限:r 读权限,w 写权限,x 执行权限
文件类型及执行权限分为四部分(drwxr -xr -x):
d | rwx | r-x | r-x |
---|---|---|---|
文件类型:- 表示文件 d 表示目录 l 表示软连接 | 文件所有者权限(user) | 文件所属用户组权限(group) | 其他用户权限(other) |
修改权限的方式 chmod命令
字符设置法
chmod [who][+ | - | =] 文件名
- who: (u 用户user ,g用户组group,o其他用户,a所有用户默认)
- 操作符号:+添加某个权限,- 取消某个权限,= 赋予权限
例如:chmod u+x,g+w,o+w test.log //r 读, w 写, x 执行
使用字符设置法修改一个权限:
-rw-r--r--. 1 root root 0 9月 1 17:10 java.log
chmod g+w java.log
-rw-rw-r--. 1 root root 0 9月 1 17:10 java.log
数字设定法
0无权限,1表示执行权限=x,2表示写入权限=w,4表示读权限=r
例如:
-rwxrw-r--. 1 root root 0 9月 1 17:10 java.log
上述文件的数字权限:
- 用户权限: rwx = 4+2+1 = 7
- 所属用户组权限: rw- = 4+2 = 6
- 其他用户权限: r-- = 4+0+0 = 4
- 组合: 764
使用数字设定法修改一个权限:
-rw-rw-r--. 1 root root 0 9月 1 17:10 java.log
chmod 666 java.log
-rw-rw-rw-. 1 root root 0 9月 1 17:10 java.log
Linux常用指令
1、查看目录和切换目录
查看目录内容:
ls
查看详细信息:
ll
切换目录cd,要加空格:
cd /xxx
返回上一级目录:
cd ..
2、创建文件和创建目录
创建目录:
mkdir 目录名
创建目录以及子目录,多个目录同时创建:
mkdir -p 目录名/子目录名
例如:mkdir -p a/b/c
创建文件:
touch 文件名
3、写入内容和查看文件内容
写入内容:
echo:把内容重定向到指定的文件中 ,有则打开,无则创建
覆盖模式>:echo “666”>文件名
追加模式>>:echo "666">>文件名
查看文件内容:
cat 要查看的文件名
4、复制、剪切、重命名和删除
复制:
cp :复制
cp 要复制的文件名 新的文件名
剪切和重命名:
mv :剪切、重命名(剪切的文件放在同一个目录中是重命名)
mv 要剪切的文件名或目录 目录或新的文件名
删除:
rm:删除文件或者文件夹
rm -fr:直接彻底删除,没有提示
rm 删除的文件或文件夹名
rm -f 删除的文件或文件夹名
5、当前路径
pwd :查看当前目录的绝对路径
pwd
6、系统信息
uname -a :显示完整的系统信息
uname -a
7、查看进程耗时与占用
top :显示当前耗时的进程信息 ,每3秒刷新一次 cltr+c 中断
top
8、查看进程快照
显示当前进程的快照,可过滤查看
ps -aux //不过滤
ps -aux|grep java //查看java进程
ps -aux|grep mysql //查看mysql进程
9、文件大小
显示文件的大小信息
du -sh
10、磁盘占用
查看磁盘使用情况
df -lh
11、网卡
ifconfig :查看或者配置网卡信息(ip addr)
ifconfig
ip addr
12、强制结束
kill -9 端口号
13、查看端口
netstat 参数
常用参数:
- -a或–all:显示所有连线中的Socket
- -l或–listening:显示监控中的服务器的Socket
- -n或–numeric:直接使用ip地址,而不通过域名服务器
- -p或–programs:显示正在使用Socket的程序识别码和程序名称
- -t或–tcp:显示TCP传输协议的连线状况
14、 打包与拆包
tar -[c|x][z|j]vf <打包后的文件名> <欲打包的目录或文件>
- c : 创建的一个归档文件
- x : 拆包
- z : 以gzip 格式压缩
- j : 以bzip2格式压缩
- v : 显示打包或者拆包的文件信息
- f : 后面紧接一个归档文件
- 打包及压缩: tar -czvf xxx.tar.gz ./xxx/
- 拆包及解压缩: tar -xzvf xxx.tar.gz
15、文本编辑器
vi 要编辑的文件名
操作模式:
一般模式/命令模式:
- 默认方式,该模式不能编辑
- 按
i/insert
进入编辑模式 - 文件内容查找:
/word
从上而下查找字符串’word’,?word
从下而上查找字符串’word’
编辑模式:
- 该模式可以编辑文档,按
esc
退出编辑模式
底行模式:
- 一般模式中按
:
进入 :q
安全退出,未操作该文档:q!
修改了内容,但不想保存,强制退出:wq
保存退出:set nu
显示行号,set nonu
取消行号显示