linux操作系统
linux操作系统
1. linux文件与目录结构
-
- /bin (/usr/bin、/usr/local/bin)
是Binary的缩写,这个目录存放着最经常使用的命令。
-
- /sbin (/usr/sbin、/usr/local/sbin):
s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。
-
- /home :
存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
-
- /root :
该目录为系统管理员,也称作超级权限者的用户主目录。
-
- /lib :
系统开机所需要最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
-
- /lost+found:
这个目录一般情况下是空的,当系统非法挂机后,这里就存放了一些文件。
-
- /etc :
所有的系统管理所需要的配置文件和子目录。
-
- /usr :
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows下的program files目录。
-
- /boot :
这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件,自己的安装别放这里
-
- /proc:
是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
-
- /srv:
service缩写,该目录存放一些服务启动之后需要提取的数据。
-
- /sys :
这是Linux2.6内核的一个很大 的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs。
-
- /tmp :
这个目录是用来存放一些临时文件的。
-
- /dev :
- 类似于Windows的设备管理器,把所有的硬件用文件的形式存储
- /media :
- /dev :
linux系统会自动识别一些设备,例如U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录。
-
- /run :
进程产生的临时文件,虚拟机加载光盘映像在:/run/media/root/ 目录下
-
- /mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容。
-
- /opt :
这是给主机额外安装软件所摆放的目录,比如安装ORACLE数据库则就可以放在这个目录下,默认是空的。
-
- /usr/local :
这是另一个给主机额外安装软件所摆放的目录,一般是通过编译源码方式安装的程序。
-
- /var :
这个目录中存放着不断扩充的东西,我们习惯将哪些经常被修改的目录放在这个目录下,包括各种日志等。
2. vi与vim编辑器的使用
2.1. 一般模式下的基本命令
- dd :删除光标当前行
- dnd:删除向下的n行
- u:撤销上一步
- x:删除一个字母Delete
- X:删除一个字母Backspace
- yy:复制光标当前行
- p:粘贴
- dw:删除一个词(光标选中后的字母)
- yw:复制一个词
- shift+g:移动到页尾
- 数字n+shift+g:移动到目标行
- shift+6:移动到行头(当前行)
- shift+4:移动到行尾(当前行)
- REC退出
2.2. 编辑模式下的基本命令
- i /a/o:当前光标前/当前光标后/当前光标的下一行
- s/S:删除当前字符并进入编辑/删除整行并进入编辑
- R:进入替换模式,替换光标后的内容
- ESC退出
2.3. 命令模式下的基本命令
- w:保存(可以wq连接使用,保存并退出)
- q:退出
- ZZ:保存并退出
- ZQ:不保存退出
- !:强制执行
- :%s/old字符/new字符/g:批量替换
- /要查找的词 :n查找下一个,N往上查询找
- set nu/set nonu :显示行号/关闭行号
- :noh:取消高亮显示
- :q :wq :q! quit命令下或者ESC退出
2.4 常用基本命令
- 查询帮助手册语句:man xx \ xx--hele
- 日期类:date ,cal
- 显示当前目录:pwd
- cd .. 返回上级目录
- cd / 返回根目录/
- cd ~ 返回家目录
- cd /etc/sysconfig 通过绝对路径访问(利用tab建来提示)
- cd ./sysconfig 通过相对路径访问
2.5.文件目录管理基本命令
- ls :查询文件目录 -a :全部文件,包括隐藏文件 -l ll 列出详细列表
- grep:配合显示内容等命令,根据跟随的内同显示,该行内容 例如:ll |grep xxx (会查询出带xxx的内容)
- mkdir:创建目录 -p 创建多级目录
- touch:新建一个文件, touch 跟文件名
- rmdir:删除一个空目录 rmdir dirname(目录名)
- rm:一处目录或文件 -rvf 递归删除所有目录内容并提示 -rf 递归删除所有目录内容不提示。 rm -rvf 文件或目录名
- cp: cp 要复制的files 复制到哪里的路径 -r递归复制整个文件夹 -v显示复制过程中文件的列表 cp -rf 文件名 路径名
- mv:
mv oldFileName newFileName 重命名
mv /temp/movefile /targetfolder 移动文件
- cat
cat 文件名 查看轻量级的文本文件
cat 文件1 文件2 连接显示多个文件
cat 文件1 文件2 > new文件名 合并为新文件
- more
查看较长的文件'
空格:代表往下翻一页
Enter:翻下一行
q:退出
Ctrl+f 向下滚动一屏
Ctrl+B返回上一屏
-
less 同more类似
比more功能更多。
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
- history:查看历史命令(显示出历史输入的命令)
- echo: 输出环境变量 ,在shell脚本中当system.out.print使用
- find:查找文件,提供了丰富的模糊搜索及条件搜索
find+搜索路径+参数+搜索关键字 例如:find /home/esop -name "*.txt" 查询路径下名字是.txt结尾的文件
- locate : 查找文件,查询速度更快,使用更方便 locate /opt/*.conf 运行前需要执行updatadb来更新文件索引
2.6 压缩和解压文件
- 压缩文件(tar )
- tar -zcvf 压缩文件名.tar.gz 文件1.txt 文件2.txt
- -c 创建一个新归档
- -v 显示详细信息
- -f 指定压缩后的文件名
- -z 通过gzip过滤归档
- 解压缩文件(tar )
- tar -zxvf 解压缩文件名》tar.gz
- -x 从归档中解出文件
- -f 指定解压前的文件名
- 压缩文件(zip )
- zip mypackage.zip 文件名1.txt 2.txt
- zip -r pack.zip pack/* 递归压缩
- 解压缩 (zip )
- unzip mypackage.zip
3. 磁盘分区类
- lsblk ,lsblk -f 查看所有内存光驱硬盘等设备挂载情况
- ifconfig 查看网络配置
- 命令行操作网络配置: vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 刷新网络设置:service network restart
- ps 显示进程信息
- -a 显示当前终端的所有进程信息
- -u 以用户的格式显示进程信息
- -x 显示后台进程运行的参数
- ps -ef 以全格式显示当前所有进程
- -e 显示所有进程
- -f 全格式
- ps -e|grep xxx
- %CPU:进程占用CPU的百分比
- %MEN:进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小(KB)
- RSS:进程占用的物理内存大小(KB)
- TIME:进程使用CPU的总时间
- kill:kill pid 通过唯一标识PID杀死进程 -9 强行杀死进程
- killall :killall name 通过进程名称杀死进程
4. 进程类
centos6版本
4.1 管理进程的命令
- service 服务名 start :开始服务
- service 服务名 stop :停止服务
- service 服务名 restart 重启服务
- service 服务名 reload 重新加载服务
- service 服务名 status 查看服务状态
- 查看服务的方法:/etc/init.d/服务名
- 通过chkconfig 命令设置自启动
- 查看服务 chkconfig --list|grep xxx
- chkconfig --level 5(运行级别) 服务名 on
centos7
4.2 管理进程的命令
- systemctl start 服务名.service 开启服务
- systemctl stop 服务名.service 停止服务
- systemctl restart 服务名.service 重启服务
- systemctl reload 服务名.service 重新加载
- systemctl status 服务名.service 查看服务状态
- 查看服务的方法 /usr/lib/systemd/system
- 查看服务的命令
- systemctl list-unit-files
- systemctl --type service
- 通过systemctl 命令设置自启动
- 自启动 systemctl enable service_name
- 不自启动 systemctl disable service_name
- netstat 查看系统的网络情况
- -an 按一定顺序排列输出
- -p 显示哪个进程在调用
- netstat -anp|grep 8080端口的进程
5. 用户与权限管理
- 新增用户:useradd 新用户名
- 设置密码:passwd 密码
- 用户是否存在:id 用户名
- 切换用户 :su 用户名
- 查看当前用户/登录用户 whoami/ who am i
- 删除用户:userdel 用户名 不完全删除
- 在/Home/下的文件
- 在/etc/passwd 下的用户
- 在/etc/grup下的用户组
- 在/var/spool/mail下的邮箱文件
- 完全删除用户:userdel -rf 用户名
用户组
- 类似与角色,系统可以对有共性的多个用户进行同意管理
- 新增组:groupadd 组名
- 删除组:groupdel 组名
- 修改用户的组:usermod -g 用户组 用户名
- 增加用户时直接加上组:useradd -g 用户组 用户名
权限变更 chmod
- 权限变更第一种方式:
- chmod u=rwx ,g=rx,o=x 文件目录名
- chmod o+w / a-x 文件目录名
- 权限变更第二种方式:
- chmod 777 文件目录名
- chown
- chown newowner(所有者) file(文件名) 改变文件的所有者
- chown newowner:newgroup file 改变用户的所有者和所有组
- -R 如果是目录,则使其下所有子文件或目录递归生效
- chgrp
- chgrp newgroup file 改变文件的所有组
6.rpm与yum
- rpm是Linux这系列操作系统里面的打包安装工具,
- 查询已安装的rpm列表:rpm -qa|grep xx
- rpm包的名称
- firefox-52.5.0-1.el7.centos.x86_64
- firefox 名称
- 52.5.0-1 版本号
- el7.centos.x86_64:表示centos7.x的64位系统
安装rpm
- rpm -ivh rpm(报名)
- -i 安装 install
- -v 查看信息
- -h 查看进度条
- 卸载rpm
- rpm -e 软件包名
yum:类似于我们java开发中的maven工具,可以从镜像网站上下载应用程序,并直接安装
-
- yum list|grep xx软件列表
- yum install xxx 下载安装