linux简介
安装
安装操作系统软件 CentOS6.8-*.iso
密码原则 12位以上 大小写字符 数字 特殊符号
DeskTop 图形界面 开发
Basic Server 服务器 没有图形界面 Server
安装Basic Server 701软件包
分区 swap备用内存2000M ,/boot exit 执行内存200M 剩余全部为根目录exit空间
setup 设置防火墙之类
ifconfig 查看网络状态
最后service network restart 重启网络服务确定无误
常用端口
3306 mysql 80 apache(http) 22 ssh pgrep 应用 得到进程号
常用命令
ls (显示当前目录下文件) ls 目录名 (显示指定目录下文件) ls -l (长格式显示目录文件) ls -l 文件名 (长格式显示指定文件) ls -a (显示所有文件(包含隐藏文件)) ls -al (长格式显示当前目录下所有文件) ls -h (文件大小显示为常见大小单位 B KB MB ...) ls -d (显示目录本身,而不是里面的子文件)
cd /usr/local/src 切换到指定路径(使用绝对路径方式) cd ~ 进入当前用户的家目录 cd - 进入上次目录 cd .. 进入上一级目录 cd . 进入当前目录
/bin 命令保存目录(普通用户就可以读取的命令) /boot 启动目录,启动相关文件 /dev 设备文件保存目录 /etc 配置文件保存目录 /home 普通用户的家目录 /lib 系统库保存目录 /mnt 系统挂载目录 /media 挂载目录 /root 超级用户的家目录 /tmp 临时目录 /sbin 命令保存目录(超级用户才能使用的目录) /proc 直接写入内存的 /sys 将内核的一些信息映射,可供应用程序所用 /usr 系统软件资源目录 /usr/bin/ 系统命令(普通用户) /usr/sbin/ 系统命令(超级用户) /var 系统相关文档内容 /var/log/ 系统日志位置 /var/spool/mail/ 系统默认邮箱位置 /var/lib/ 默认安装的库文件目录
提示符
[dragon@localhost ~]$ ① ② ③ ④ ①:dragon 代表 当前登录用户 ②:localhost 代表 主机名 ③:~ 代表 当前所在目录 ~ 用户家目录; /root 管理员; /home/用户名 普通用户 ④:$ 代表 当前用户身份 $ 普通用户; # 超级用户
linux简单操作
追加
ls -lR 可以看当前目录文件以及目录里面的文件 /opt 临时应用的SH 可以放置 bd 数据库 bak 备份 last 查看历史登录记录(用户名,时间,登录中断之类) $0 文件本身 printf 格式化打印
常用操作
mkdir t1 创建目录 mkdir -p t1/t2/t3 递归创建目录 rmdir t1 删除目录(只能删除空目录) rm -rf t1 强制删除目录文件 rm -r t1 递归删除文件和目录 touch t1.py 创建空文件 touch -t 20170612 t1 修改文件时间 cat t1.py 查看文件内容 cat -n t1.py 查看文件内容并列出行号 more t1.py 分屏显示文件内容 空格向上 b 向下 q 退出 head t1.py 显示文件前几行(默认10行) head -n 20 文件名 显示文件前20 行 head -n -29 文件名 显示文件最后20行(不常用,有tail) ln -s 源文件 目标文件 创建链接文件(必须用绝对路径) nano 文件名 纳米编辑器 man ls 帮助命令 ls --help 帮助命令 date 查看系统时间 date -s 20170220 设定日期 date -s 09:30:00 设定时间 du -sh 目录名 统计目录大小 -s 和 -h 常见单位 df -h 查看系统内存(查看占用内存。以便为后安装程序做准备) df -hT 查看系统内存(T 类型) netstat -an |grep ESTABLISHED | wc -l 查看服务器的连接数 source 文件名 执行这个文件(一般在改配置时使用)
cp 源文件 目标位置 (复制) 或 cp 源文件 目标位置/目标名称 (复制并改名) cp -r 复制目录 cp -p 连带文件属性一起复制 cp -d 若源文件是链接文件,则复制链接属性 cp -a 相当于 cp -pdr
mv 源文件 目标位置 mv /root/test /tmp/ 将/root/下的test文件移动到/tmp/目录下 mv /root/test /root/newtest 将/root/下的test文件改名为newtest
快捷键
ctrl +c 强行终止 ctrl + l 清屏 tab 命令补全 文件目录名补全(常用) 反撤销 ctrl + r
权限位
-rw-r--r--. 1 root root 44736 7月 18 00:38 install.log 权限位是十位 第一位:代表文件类型 - 普通文件 d 目录文件 l 链接文件 默认文件 644 默认目录 755 默认链接文件 777 最大 777 最小 000 其他九位:代表各用户的权限 (前三位=属主权限u 中间三位=属组权限g 其他人权限o) r 读 4 w 写 2 x 执行 1 权限对文件的含义 r:读取文件内容 如:cat、more、head、tail w:编辑、新增、修改文件内容 如:vi、echo 但是不包含删除文件 x:可执行 /tmp/11/22/abc --------- 权限对目录的含义 r:可以查询目录下文件名 如:ls w:具有修改目录结构的权限 如:touch、rm、mv、cp x:可以进入目录 如:cd
权限操作
chmod u+x aa aa文件的属主加上执行权限 chmod u-x aa aa文件的属主减去执行权限 chmod g+w,o+w aa aa文件的属组和其他人加上写权限 chmod u=rwx aa aa文件的用户权限改为所有权限(读+写+执行) chmod 777 -R aa 给当前文件和子文件都给上权限 另一种表现方式: chmod 755 aa aa文件的属主权限是rwx,属组和其他人是rx chmod 644 aa aa文件的属主权限是rw,属组和其他人是r
chown 用户名 文件名 改变文件属主 chown user1 aa user1必须存在 chown user1:user1 aa 改变属主同时改变属组
### 用户操作
useradd 用户名 功能描述:添加用户 userdel -r 用户名 功能描述: 连同家目录一起删除用户 id -u 检测当前用户的UID passwd 用户名 功能描述:设定用户密码
查找命令
whereis ls 查找命令所在位置
find 查找位置 -name 文件名 find / -name aabbcc 查找/目录下名为 aabbcc的文件 更多选项: -name 文件名 按照文件名查找 -user 用户名 按照属主用户名查找文件 -group 组名 按照属组组名查找文件 -nouser 找没有属主的文件 (除了这三个文件:/proc、/sys、/mnt/cdrom) -size 按照文件大小k M 如:find / -size +50k -type 按照文件类型查找(f=普通 d=目录 l=链接) -perm 按照权限查找 如:find /root -perm 644 -iname 按照文件名查找,不区分大小写 格式 find / -name index.html find / -user python find / -group python find / -nouser find / -type f find / -perm 777 find / -size +10M -a -size -20M -exec rm -rf {} \; find / -size +10M -a -size -20M -ok rm -rf {} \; exec 直接执行不提示 OK 提示危险操作
grep 选项 '字串' 查找路径 grep '字串' 路径 grep -i "root" /etc/passwd -v 反向选择 -i 忽略大小写 -n 显示行号
管道符
| 连接命令
ls -l /etc/ | more 分屏显示etc里面的目录和文件
cat -n install.log | grep “zip” 查看文档显示行号并且查找‘zip’字符
压缩和解压
tar.gz tar -zcvf p1.tar.gz test1.py install.log 压缩文件 tar -zxvf p1.tar.gz 解压缩 tar -ztvf p1.tar.gz 查看不解压 tar -zxvf p1.tar.gz -C txt 定向解压缩 tar -zcPf p1.tar.gz test1.py 压缩文件 -P 保留备份文件的原有权限和属性。常用于备份
.tar.bz2 tar -jcvf txt.tar.bz2 txt 压缩目录 tar -jxvf txt.tar.bz2 解压缩 tar -jtvf txt.tar.bz2 查看不解压 tar -jxvf txt.tar.bz2 -C /tmp 定向解压缩
关机重启
shutdown -h now 现在关机 init 0 关机 shutdown -r now 重启系统 reboot 重启系统 init 6 重启
挂载
1. 物理连接 2.手动挂载 3.识别设备使用 mount 光驱设备名 (/dev/sr0 /dev/cdrom) 挂载点 /media /mnt (手动建立挂载点 mkdir /mnt/cdrom) mount /dev/sr0 /media cd /media/ 1. 卸载 umount umount /dev/sr0 umount /media 注意:退出挂载目录,才能卸载 fdisk -l 查看设备名 mount -t iso9660 /dev/cdrom /mnt/cdrom
网络命令
ping 测试网络连通性 ping -c 5 192.168.2.222 ifconfig 查看网络设备 Linux ipconfig windows ipconfig /all
vim操作
vim编辑器 全屏幕纯文本编辑器 vi -> vim (加强版) 三种模式: 命令模式 插入模式 末行模式 a i o s Shitft + : ESC a 追加 i 插入 o 打开 s 删除当前字符插入 :wq 保存退出 :w 保存 :q 退出 :q! 不保存退出 :wq! 强制保存退出(root) vim test1.py 命令模式 vim install.log 光标移动 h j k l :n 行号 :300 gg 光标移动到第一行 G 移动最后一行 设置行号 :set nu 取消行号 :set nonu 复制 yy 复制多行 nyy 粘贴 p 删除(剪切)单字符 x 删除多字符 nx 删除(剪切)行 dd 删除多行 ndd dG 从当前行到最后全部删除 撤销 u 反撤销 ctrl + r 颜色开关(语法高亮) :syntax off 关闭 :syntax on 开启 手动建立配置文件 vim ~/.vimrc 可以写 set nu 让每个文件都显示行号 查找功能 vim install.log /i686 N 向下 n 向上 查找i686 /root 查找root 替换功能 vim install.log :%s/要替换内容/替换后内容/g 全文替换 :1,20s/要替换内容/替换后内容/g 范围替换 注释 # :21,30s/^/#/g 添加注释 :25,30s/^#//g 取消注释 :60,70s/^/\/\//g 添加注释 :65,70s/^\/\///g 取消注释
软件包安装
一 软件包分类 源码包: 优点: 特点 开源 自由定制 缺点: 编译时间长,一旦报错,很难解决 二进制包:rpm包 优点:安装速度快 简易 缺点:自定义性差 依赖性 a---->b---->c 树形依赖 a---b----c---a 环形依赖 库文件依赖 www.rpmfind.net
rpm手动安装
手动RPM命令安装 1 包命名 包名-版本号-发布次数-适合linux系统-硬件平台.rpm 2 安装 rpm -ivh 包名(绝对路径) -i 安装 -v 显示详细信息 -h 显示进度 rpm -Uvh 包名 -U 升级 3 卸载 rpm -e 软件名 4 查询 rpm -q 软件名 查询包是否安装 rpm -qa | grep httpd 显示所有安装包 rpm -qi 软件名 查询包的信息 -p 未安装包 rpm -qip 包名 查询没有安装包的信息 -i information rpm -ql 软件名 查询包中文件的安装位置 rpm -qlp 包名 查询没有安装的包,打算安装位置 -l list rpm -qf 系统文件名 查询系统文件属于哪个包
yum安装
yum -y install 软件名 安装 -y 自动回答yes yum -y remove 软件名 删除 yum -y update 软件名 升级 yum list 查询所有可以安装的包 光盘作为yum源: 1 cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak 2 mount /dev/sr0 /mnt/cdrom 3 vim /etc/yum.repos.d/CentOS-Media.repo baseurl=file:///mnt/cdrom/ 指定yum源位置 enabled=1 yum源文件生效 gpgcheck=0 rpm验证不生效 yum -y install gcc (gcc是c语言编译器,不装gcc,源码包不能安装)
源码包安装(apache)
!!! 必须先安装gcc ! apache解析php的效率特别高 1 远程传输工具传输apache到linux。 httpd-2.2.29.tar.gz 2 安装 1)解压 2) cd 解压目录 3) 查看安装文档 INSTALL README 4)编译前准备 ./configure --prefix=/usr/local/apache2 功能: 1 检测系统环境,生成Makefile 2 定义软件选项 5)编译 make 6)编译安装 make install 报错判断: 第一:安装过程是否停止 第二:注意error warning no 等错误报警 3 启动 /usr/local/apache2/bin/apachectl start /usr/local/apache2/bin/apachectl stop 4 删除 直接删除安装目录
用户和用户组管理
用户管理命令
一 用户管理命令 用户信息文件: /etc/passwd 超级用户 uid 0 普通不需要登录, uid 500 开始 人为用户(系统服务使用) 影子文件: /etc/shadow 组信息文件: /etc/group 1 添加用户 useradd 用户名 useradd 选项 用户名 useradd -g python f1 添加f1 同时修改初始组为python useradd -G python f2 添加f2 同时添加f2为python组的附加组员 useradd -c "pyer" f3 添加f3用户 同时注释 useradd -d /home/four f4 添加用户f4同时修改家目录名 useradd -s /bin/nologin f5 添加用户f5同时禁止登录 2 设定密码 passwd 用户名 passwd 改变当前用户密码 passwd root 改变root密码 3 删除用户 userdel -r 用户名 -r 连带家目录一起删除 4 添加组 groupadd 组名 5 删除组 groupdel 组名 6 把已经存在的用户加入组 gpasswd -a 用户名 组名 用户加入组 gpasswd -d 用户名 组名 把用户从组中删除
用户相关命令(id和切换)
id 用户名 查看用户相关ID号 ,显示用户的UID,初始组和附加组 su - 用户名 切换用户身份
ACL权限
1.给特殊身份的人设置权限 getfacl 文件名 查看文件的acl权限 setfacl -m u:用户名:权限 文件名 设置用户的ACL权限 ls -l 查看有没有 + getfacl test1.py setfacl -m g:组名:权限 文件名 设置组的ACL权限 getfacl 文件名 查看权限 setfacl -x u:f2 test1.py 删除f2用户ACL权限 setfacl -b 文件名 删除所有ACL权限 2.对目录设置ACL权限 1)对目录本身设置ACL权限 setfacl -m u:f2:rwx 目录名 2)对目录和目录内文件设置ACL权限 setfacl -m u:f2:rwx -R 目录名 递归设置 3)对未来建立的文件设置ACL权限 setfacl -m d:u:f2:rwx -R 目录名 -R 递归 !!! 如果给目录赋予ACL权限,2和3 命令都要输入 !!!