Linux系统安装及基本操作
GNU:目标是编写大量兼容Linux系统的自由软件 GPL:允许用户任意复制,传递,修改和再发布 LGPL
Firefos:网页浏览器 OpenOffice:网页套件 Apache ......
完整的OS=Linux内核+各种自由的软件 厂商提供的辅助安装、软件包管理等程序
1.主分区:能安装操作系统,能进行计算机启动 这样的分区可以直接格式化 2.扩展分区:装文件
MBR分区表类型的硬盘中最多只能有4个主分区 多余的就要使用扩展分区 如果使用扩展分区,一个硬盘上最多只能有3个主分区和1个扩展分区 扩展分区不能直接使用,经过二次划分成为逻辑分区才可使用 一个扩展分区的逻辑分区可以是任意多个
/dev/(hd/sd)a5 1.dev:硬件设备文件所在目录 2.hd:IDE设备 sd:SCSI设备(服务器专用硬盘) 3.a/b/c...:硬盘顺序号 4.1/2/3...:分区顺序号
df -lh:查看所有硬盘的使用状 du -sh /etc:查看etc目录的大小 free:显示内存使用状况 arch:显示架构 cat /proc/cpuinfo:显示CPU信息 cat /proc/meminfo:显示内存信息 fdisk -l:查看现有磁盘大小
cd /:根目录 ls:列出目录下所有的文件
1.root:启动Linux的核心文件(不能删,否则系统可能无法启动) 2.home:普通用户个人文件(对应Windows/用户) 当前登录的用户有完全操作权限 存放配置信息,不能用来登录 htp:用户所有服务 httpd samba user1 user2 2.bin:二进制的可执行文件,不需要超级用户权限 3.sbin:可执行程序目录,大多存放设计系统管理的文件,需要超级用户权限(root权限) 4.proc:内核镜像文件(虚拟),保存所有内核参数及系统配置信息 img都是镜像文件 5.usr:用户级文件 bin:几乎所有用户用的命令 sbin:系统管理员命令 include:C/C++头文件目录 lib:固定的程序数据 local:**本地安装软件保存位置 main:手工生产的目录 info:信息文档 doc:不同包文档信息 tmp:**临时目录 6.boot:引导加载文件所需的文件 7.lib:系统公共库文件 8.dev:设备文件 9.etc:配置文件 skel:建用户就复制该目录 sysconfig:默认系统配置信息 10.var:变量目录,存放经常变的信息 file: lib: local: lock: log:日志 run: spool: tmp: catman: mnt:临时挂载文件系统(U盘),一般情况下都是空的,建议在该目录下再建立一个目录挂载设备 tmp:临时文件目录,一旦关机就全部消失 注意:某些东西安装时某些文件默认会放在该目录下,记得改!!!!! lost+found:文件系统修复时的恢复文件
内部命令:属于Shell解释器的一部分
外部命令:独立于Shell解释器之外的程序文件
命令字符 [选项] [参数] 1.注意:空格分割 2.选项:- 短格式选项(单个字符) -- 长格式选项 多个短路式的选项写在一起只用- 3.参数:命令操作的对象
systemctl set-default multi-user.target:切换界面 reboot:重构 uname -a:查看Linux版本 ls:全部列表--文件名 ll:详情列表
tab:自动补齐 \:强制换行 Ctrl+U:清空至行首 Ctrl+K:清空至行尾 Ctrl+L:清屏 Ctrl+C:取消本次命令编辑,有结果 Ctrl+Z:后台运行,没有结果
help:查看Bash内部命令的帮助信息 XX --help:查看XX外部命令的信息 man XX:阅读XX命令的官方手册 info:阅读信息页 q:退出
col支持中文 LC_CTYPE=zh_CN.UTF-8 LANG=en_US.UTF-8
pwd:打印当前的工作目录 cd:切换路径 相对路径/绝对路径 ..:上一级目录 .:当前目录 /:根目录 ~:当前登录的用户目录 ls:列表(列出该目录下的所有目录和文件) ls -l:列出详细信息 第一栏位:文件属性 开头 d:目录 -:文件 c:字符文件 l:链接 后面:权限 第二栏位:文件个数,目录=1,文件=目录个数 第三栏位:该文件或目录的拥有者或创建者 第四栏位:所属的组 第五栏位:文件大小 第六栏位:文件或目录创建的时间 第七栏位:文件名 ll:相当于ls -l,列出详细信息 支持通配符:* 任意多个字符 ? 一个字符(想要多个,可以????) mkdir:创建目录 单级目录:mkdir cj 多级目录:mkdir -pv cj/a/b/c p:连父目录一起创建,否则只建一级 v:显示创建详情 du:查看信息 -a:全部文件 -h:以人类可读的形式 -s:总数
touch 文件名:创建文件 file 文件名:查看文件类型 cp 被复制的文件名 复制的文件名:复制文件 -r:多级目录使用其递归 rm 文件名:删除文件 -r:递归 -d:只删除空目录 -f:强制操作而不提示 mv 被移动的文件名 移动的位置:移动文件 which 命令程序名:查看命令或程序的位置 find 查找范围 查找条件:查找 ln [-s] 源文件或目录 目标文件或目录: 硬链接:以文件副本的形式存在,不占用实际空间 不允许目录创建硬链接 只有在同一个文件系统中才可以创建 在选的位置上生成一个和源文件大小相同的文件 软链接-s:以路径的形式存在 可以跨文件系统 可以对不存在的文件名进行链接 可以对目录链接 只会在选定的位置上生产一个源文件的镜像,不会占用磁盘空间 无论硬还是软,文件都保持同步变化
cat 文件名:查看文件内容 more 文件名:一页页查看内容 less 文件名:一页页查看内容 head -n 文件名:查看前n行 tail -n 文件名:查看后n行 wc 文件名:统计 单词数 行数 字节数 grep 待查找内容 文件名:
ip addr:查看网卡信息 ifconfig:查看网卡信息 ping:有各种参数 man ping自查 scp:上传jar包 netstat:查看网络状态 netstat -a:查看所有端口 netstat -at:查看TCP端口 netstat -au:查看UTP端口 netstat -ano:查看tomcat端口 netstat -ano|grep 8080:查8080端口 ss:查看网络状态 lsof:查看当前系统进程信息 一般 lsof -i|grep 进程名 列1:进程名称 列2:进程所有者 列3:文件描述符 列4:指定磁盘名称 列5:文件大小 列6:所有节点 列7:打开文件的确切名称 telnet:网络连接命令 host:分析域名查询工具 tcpdump:抓取数据包工具,打印所有经过网络接口数据包的头信息
ps:静态列出系统中运行的进行 ps -a:列出系统中所有运行的进行 ps -ef|frep XXX:列出需要的进程 ps -aux:显示进程信息 top:动态监听系统中不同进程 kill:杀死结束进程 kill -9 <pid> ulimit:控制系统资源在shell和进程上的分配量
echo $xxx:系统环境变量 uname:操作系统名 uname -a hostname:本机映射域名 对应 /etc/hostname 文件 dmesg:开机信息 uptime:系统运行时间 du:磁盘空间情况 top:实时显示 系统资源 情况 df:文件系统磁盘空间状态 free:系统内存 cal:日历 date
gzip 压缩: gzip -9 要压缩的文件 解压: gzip -d 压缩文件 tar 压缩: tar -cvzf 待压缩文件名.gz 要压缩的文件名 解压: tar -xzvf 压缩的文件名.gz
1.创建或修改文本文件 2.维护Linux系统的各种配件
vi vim:带颜色 三种 命令 按 i, a 进入输入模式 按esc退到命令 按 : 进入莫行模式 :wq :q!
命令模式、输入模式、末行模式
1.用户账户:普通用户+程序用户(一个程序装上就有一个空间,超过这个空间就不能操作,别的用户有该用户组权限就可以访问) 2.组账号:基本组(私有组)+附加组(公共组) 3.UID:用户标识符 GID:组标识号
用户账号文件: 保存用户账号基本信息:/etc/passwd 保存用户密码基本信息:/etc/shadown 添加用户账号 useradd [选项] 用户名 -u:知道UID标记 -d:知道宿主目录 -e:指定账号失效时间 -g:指定用户基本组名 -G:指定用户附加组名 -M:不为用户建立并初始化宿主目录 -s:指定用户登录的Shell 底层步骤:1.创建home目录,将模板文件拷贝进来 2.在/etc/passwd中添加用户 3.在/etc/shadown中添加密码 设置更改用户口令 passwd [选项] 用户名 -d:清空用户密码,使空密码就可以登录 -l:锁定用户账号 -S:查看用户账号状态 -u:解锁用户账号 用户账号的初始化配置文件 新建用户时,从/etc/skel目录中复制而来 初始配置文件 ~/.profile:每次登录时执行 ~/.bashrc:每次进入新Bash环境时执行===个人 ~/.bash_logout:每次退出登录时执行 全局配置文件 /etc/bashrc===公司 /etc/profile 删除用户账号 userdel [-r] 用户名 -r:连用户的宿主目录一并删除
组账号文件 /etc/group:保存组账号基本信息 /etc/gshadow:保存组账号密码信息 添加组账号 groupadd 组账号名 删除组账号 groupdel 组账号名
查询用户身份标识:id 用户名 查询用户所属的组:groups 用户名 查询用户账号的详细信息:finger [-l] 用户名 查询已登录到主机的用户:users、w、who
访问权限 读取:允许查看文件内容、显示目录列表 写入:允许修改文件内容,在目录中新建、移动、删除文件或子目录 可执行:允许运行程序、切换目录 归属(所有权) 属主:拥有该文件或目录的用户账号 属组:拥有该文件或目录的组账号
chmod chmod [ugoa] [+-=] [rwx] 文件/目录 u:属主 g:属组 o:其他用户 a:所有用户 +:增加权限 -:去除权限 =:设置权限 chmod nnn 文件/目录 nnn:三位八进制数 -R:递归修改指定目录下所有文件,子目录的权限
chown chown 属主 文件或目录 chown :属组 文件或目录 chown 属主:属组 文件或目录 -R:递归修改指定目录下所有文件,子目录的归属
SET位权限:争对文件 主要用途:为可执行文件(有x权限的),权限字符:s 其他用户执行该文件时,将拥有属组或属主用户的权限 权限类型: SUID:对属主用户增加SET位权限 SGID:对属组内用户增加SET位权限 设置 chmod ug(+/-)s 可执行文件 chmod o(+/-)t 目录名 粘滞位权限:争对目录 主要用途:设置公共目录(权限为777的...),权限字符:t 用户不能删除该目录中其他用户文件 如:tmp、var/tmp临时目录 设置 chmod mnnn 可执行文件 m=4:SUID m=2:SGID m=1:粘滞位 可叠加
systemctl list-unit-files 查看服务 systemctl enable smb nmb 开启指定服务 systemctl disable smb nmb 关闭指定服务
1.前台启动:用户输入命令,直接执行程序 2.后台启动:在命令行尾加入“&”符号 cp /dev/cdrom mycd.iso & 将cdrom中的镜像文件挂载到当前用户的home目录下的 mycd.iso中 head -10 mycd.iso
1.使用at命令,设置在某个特定的时间,执行一次任务: javascript:setTimeout() 2.使用crontab命令,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务 javascript:setInterval()
将当前进程挂起,即调入后台并停止执行 按Q键则退出此进程
查看处于后台的任务列表
进程的顺序号 将处于后台的进程恢复到前台运行,需指定任务序号
中断正在执行的命令
kill用于终止指定PID号的进程 killall用于终止指定名称的所有进程 -9 选项用于强制终止 kill -9 进程编号:强制杀死进程
在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务 服务脚本名称:/etc/init.d/atd 设置格式:at [HH:MM] [yyyy-mm-dd] 然后输入要执行的操作,按ctrl+D结束输入(自动转化为 <EOT>) 1.atq命令:查询当前设置的at任务列表 2.atrm命令:删除指定任务编号的at任务
按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务 服务脚本名称:/etc/init.d/crond 主要设置文件 全局配置文件,位于文件:/etc/crontab 系统默认的设置,位于目录:/etc/cron.*/ 用户定义的设置,位于文件:/var/spool/cron/用户名 命令 crontab -e [-u 用户名]:编辑 crontab -l [-u 用户名]:查看 crontab -r [-u 用户名]:删除
时间数值的特殊表示方法 * 表示该范围内的任意时间 , 表示间隔的多个不连续时间点 - 表示一个连续的时间范围 / 指定间隔的时间频率