一、关于根目录介绍 1. /bin //许多指令对应的可执行程序文件目录 例如,ls pwd init 等等
2./sbin //改目录下的指令都是root可指令 init
3./usr //Unix system resource (Unix系统资源文件目录)常用于安装各种软件
4./dev // 系统硬件设备目录
cdrom 光驱硬件
5./home //用户的家目录 创建的用户目录
//~ 表示处于自己家目录
//cd ~ 快速切换到家目录
6./root //改目录是root管理员的家目录,root用户登录系统后首先进入该目录下
7./proc //内存映射目录,该目录可以查看系统的相关硬件信息
8./var //该目录存储的文件经常会发生变动,经常用于不熟项目程序文件
9./boot //系统启动核心文件目录,用于存储系统启动的文件
10./etc //系统主要配置文件目录
11./lib //library 系统资源文件类库目录
12.selinux //安全增强型Linux
二、目录的操作 1.创建 make directory
> mkdir 目录名字
> mkdir -p sheng/shi/qu 表示通过递归的方式来创建多级目录
2.移动(move)
> mv dir1 dir2 //将dir1移动到dir2目录下
> mv dir1 dir2/dir3 //将dir1移动到dir2目录下
3.改名字
> mv dir1 newdir //将dir1名字改为newdir
2,3的合并写法
> mv dir1 ./newdir //将dir1移动到当前目录下并改名为newdir
> mv dir1 dir3 //将dir1移动到dir3并保持原名
> mv dir2 dir2/newdir //将dir1移动到dir2下并改名为newdir
4.复制(copy)
文件的复制
> cp file1 dir3 //将file1复制到dir3并保持原名
> cp file2 dir2/newfile //将file1复制到dir2下并改名为newfile
目录的复制(需要-r参数 无视目录的层次)
> cp -r dir1 dir3 //将dir1复制到dir3并保持原名
> cp -r dir2 dir2/newdir //将dir1复制到dir2下并改名为newdir
5.删除(remove)
> rm 文件
> rm -r 目录
> rm -rf 文件/目录 // 递归强制方式删除文件
三、文件的操作 1.查看文件内容
> cat filename //打印文件内容到终端
> more filename // 通过敲回车方式逐行查看文件的各个行内容
// 不支持回看 直接按q可以退出查看
> less filename // 通过上下左右键查看文件的各个部分内容
// 支持回看
> head -n filename // 查看前n行内容
> tail -n filename // 查看后n行内容
> wc filename //查看文件的行数
2.创建文件
> touch filename
> touch dir/filename
3.给文件追加内容
> echo 内容 > 文件名称 //把内容以覆盖写的方式追加给文件
//如果文件不存在,将创建该文件
> echo 内容 >> 文件名称 //追加内容到文件中
四、用户和组的操作(#在root级别操作) - 用户操作 /etc/passwd
1.创建用户 user add
>#useradd
>#useradd xiaoming //创建xiaoming用户的同事,会创建一个同名的组出来
>#useradd -g gid组别编号 username //把用户的组别设置好,避免创建同名的组出来
>#-g 组编号 -u 用户编号 -d 家目录 username
2.修改用户 user modify
>#usermod
>#usermod -g 组别号 -u 用户编号 -d 家目录 -l 新名字 username
(修改家目录时需要手动创建)
3.删除用户 user delete
>#userdel
>#userdel -r username //删除用户同时删除家目录
4.给用户设置密码,使其登录系统
>#password username
- 组别操作 /etc/group
1.创建组 group add
>#groupadd
2.修改组 group modfiy
>#groupmod
>#groupmod -g gid -n 新名字 groupname
3.删除组 group delete
>#groupdel groupname //如果组别下有用户是不可以删除的除非把用户移动到别的组中
五、查看指令可设置的参数 > man 指令
> man useradd 显示useradd可执行的指令
六、常用基础命令 > ls //展示目录文件 (list缩写)
> ls -l 或ll //以详细信息展示目录文件(list -list)
> ls -a //查看目录全部文件,就是包括隐藏文件 (list -all)
> ls -al //以详细信息展示全部文件目录,包括隐藏文件
> ls 目录 //查看指定目录下文件
> ls -i //查看文件的索引号码
> cd //切换路径
> cd .. //向上一级目录切换
> pwd //查看完整操作位置
> su - 或 su -root //从普通用户切换到root用户
> su 用户名 // 切换普通用户
> exit //退回到原用户
> whoami //查看当前用户是谁
> init 3 命令界面
> init 5 图形界面 //root用户才能切换、图形界面 与 命令界面的切换
># which 指令 //查看一个指令对应的执行程序文件在哪里
//例如 which ls
> clear //清屏操作
># ps -A //查看系统活跃进程
># kill -9 pid //杀死指定进程
># du -h 文件名 //查看文件占据空间大小 默认最小空间是4kb 超出4kb 就是8kb 占据空间大小比文件本身大小大
># date -s "2018-3-25 12:34:45" //给系统设置时间
># date //查看时间
># df -lh //查看系统分区情况
七、操作vi(vi是个编辑器) > vi .txt 进入编辑器命令模式
> :q 退出编辑器
- 进入编辑模式:
> a //光标和所在字不发生变化
> i //光标和所在字符不发生变化
> o //光标另起一行
> s //删除光标所在字符
> esc //退出编辑模式进入命令模式
- 进入尾行模式(有两种方式)
> :
> /
> esc //退出尾行模式
> esc(按两次) //快速退出尾行模式
> 删除所有尾行内容 也会退出尾行模式
- 尾行模式下操作命令
> :q //quit 退出编辑器
> :w //write 对修改的内容进行保存
> :wq //write quit 保存并退出
> :q! //不保存强制退出编辑器
> :w! //强制保存
> :wq! //强制保存并退出编辑器
> :set number 或nu //设置行号
> :set nonumber 或nonu //取消行号
> :/内容/ 或 /内容 //查找指定内容
> n //查找内容时n表示下一个
> N //查找内容时N表示上一个
> :数字 //光标跳转到第几行
> s/cont1/cont2/ //将cont1替换成cont2 替换光标所在行的第一个目标
> s/cont1/cont2/g //替换光标所在行的所有目标
> %s/cont1/cont2/g //替换文本中所有的目标
八、命令模式操作 1.移动光标
字符级
> 上下左右移动 还可以对应jkhl移动
单词级
> w (word)移动到下个单词的首字母
> e (end)移动到下个单词的尾字母
> b (before)移动到上个单词的首字母
行级
> $ 移动到到行尾
> 0 移动到行首
段落级(翻屏)
> { 移动到上个段落或本段落的首部
> } 移动到下个段落或本段落的尾部
屏幕级(不翻屏)
> H 移动到屏幕首部
> L 移动到屏幕尾部
文档级
> G 移动到文档尾部
> 1G 移动到第一行
> nG 移动到文档的第n行
2.内容删除
> dd 删除光标当前行
> 2dd 包括当前行向后删除2行内容
> ndd 包括当前行向后删除n行
> x 删除光标所在字符
> c+w 删除光标所在字母到单词结尾并进入编辑模式
3.内容复制
> yy 复制光标当前行
> 2yy 包括当前行向后复制2行内容
> nyy 包括当前行向后复制n行
> p 对复制好或者删除的内容进行粘贴 粘贴到光标所在的下一行
4.相关快捷操作
> u undo撤销
> J 合并上下两行
> r 单个字符替换
> . 重复执行上次最近的指令
九、权限操作 (用户针对文件是否拥有读、写、执行的权利) 权限设置
chmod命令
1.字母相对方式设置权限
1)每个单元+、- 只能使用一个
2) 可以同时给多个组同时设置权限
3)都可以设置rwx相关权限
>chmod u+rwx filename //给filename文件的主人增加读、写、执行权限
>chmod g-rx filename //给filename文件的同族用户 删除读 执行权限
> chmod u+/-rwx,g+/-rwx,o+/-rwx filename
> chmod u+rwx,g-rx,o+rw filename //给filename主人增加rwx权限 给同组用户删除rx权限 给其他组增加rw权限
> chmod u+w,u-x filename //给filename主人增加w权限删除x权限
> chmod +/- filename //无视组别,统一给全部的组设置权限
> chmod +rw filename //给filename的全部用户增加读、写的权限
2.数字绝对方式设置权限
r读:4 w写:2 x执行:1
0:没有权限
1:执行权限
2:写权限
3:写,执行权限
4:读权限
5:读,执行权限
6:读,写权限
7:读,写,执行权限
>chmod ABC filename //ABC 分别代表主人,同组用户,其他用户
> chmod 753 filename //主人权限7 同组用户权限5 其他用户权限3权限使用
文件的使用权限
读:是否可以查看
写:是否可以编辑
执行:是否可以执行二进制文件和shell脚本文件
目录的使用权限
读:是否可以查看该目录内部的文件信息
写:是否可以给该目录创建、删除文件
执行:指定用户是否可以cd进入该目录
十、权限针对文件强制操作 !强制操作
1,对文件有w权限,没有r权限,强制写保存会覆盖文件原内容
2,对文件米有w权限,可以强制写保存
3,非主人用户,没有w权限,强行写保存或许成功,或许不成功
1)该文件的上级目录针对该修改者没有开放w权限,强行写保存不成功
2)该文件的上级目录针对该修改者有开放w权限,强行写保存成功
3)强制修改成功后,文件的主人,组别变为修改者的主人和组别
十一、在文件中查找内容 ># grep 被搜索内容 文件 //在passwd文件中搜索被搜索内容 会把被搜索内容所在行的内容打印到终端
># grep hello passwd
># grep jinnan /etc/group
十二、管道(前者的输出是后者的输入参数) 可以作为管道指令的命令
grep head tail wc ls
查看文件内容操作命令
> head -n filename // 查看前n行内容
> tail -n filename // 查看后n行内容
> wc filename //查看文件的行数
> ls -l | head -5 //查看ls -l信息的前五行
> grep hello passwd | wc //查看grep hello passwd 打印出的信息中的文件行数
> ls -l | head -10 | tail -6 //ls -l结果就是查看4-10行的结果
>grep hello passwd | grep world 在passwd中查找hello行然后在这个数据中查找world
十三、文件查找 find 查找目录 选项 选项值 选项 选项值 ...
1)-name 根据名字进行查找
> find / -name passwd //递归遍历系统 目录极其内部深层目录,寻找passwd文件
> find / -name "p*" //模糊查找名字是p开头的文件
> find / -name "*p" //模糊查找名字是p结尾的文件
> find / -name "*p*" //模糊查找名字中间有p的文件
2)限制查找的目录层次 -maxdepath -mindepath
-maxdepath 限制查找的最深目录
-mindepath 限制查找的最浅目录
> find / -maxdepath 4 -name passwd //寻找名字为passwd 层次在4个以下的文件
3)-size 根据大小为条件进行查找
-size +/-数字
+:表示大小大于某个范围
-:表示大小小于某个范围
什么也不加表示等于某个范围
大小单位: -size 5 //单位是512字节 5*512字节
-size 5c //单位是字节 5字节
-size 3k //单位是千字节 3*1024字节
-size 2m //单位是1024*千字节 2M兆字节
4)根据文件权限进行查找
> find ./ -perm 764 //查找权限为764的文件
5)根据文件类型进行查找
> find ./ -type f //查找文件类型
> find ./ -type d //查找目录类型
6)根据主人查找
> find ./ -user zhoudong //查找主人为zhoudong的文件
7)根据组别查找
> find ./ -group root //查找组别为root的文件
十四、软链接和硬链接 1.软连接
1)类似windows系统的快捷方式,作用就是可以对硬盘空间进行合理分配
2)如果软连接文件与源文件不在同一级目录,则源文件需要设置为“觉得路径”,否则为无效的软连 接文件
3)软连接文件要占据一点空间大小,具体大小根据路源文件路径长度决定
> ln -s 源文件 软连接文件 //创建软连接
> ln -s an.txt a.txt //在当前文件下为an.txt创建软连接文件a.txt
2.硬链接
1)系统里面文件的名称(引用)就是硬链接
2)给文件增加名称(引用)的过程就是创建硬链接(一个文件有多个名称,他们都是同一个文件实体的硬链接)
3)创建硬链接不用设置绝对路径
4)只有文件可以设置硬链接目录不可以,目录的硬链接是系统自动设置的
5)同一个源文件的所有硬链接文件必须在同一个硬盘,同一个分区里边
> ln [-d] 源文件 硬链接
十五、任务调度指令 规定系统在指定的时间完成指定的任务过程
可以同时设置多个任务调用指令
> crontab -e //编辑任务调度指令
> crontab -l //查看任务调度指令
十六、文件主人,组别设置 change owner
针对文件操作
> chown 主人 filename
> chown tang tiancai.txt //修改tiancai.txt的主人为tang
> chown .tang tiancai.txt //修改tiancai.txt的组别为tang
> chown tagn.tang tiancai.txt //前两个综合
针对目录操作
> chown -R 主人.组别 dir //通过递归方式设置属组信息
十七、配置网络 1.进入后修改相关配置,参考截图网络配置
> cd /etc/sysconfig/network-scripts
> cp ifcfg-eth0 ./ifcfg-eth0.bak 网卡修改前先做备份
2.修改配置后需要重新启动网络
>service network restart
3.修改虚拟机网卡桥接模式 (参考截图网卡桥接)
4.Linux可以ping通本机 (ping通之后可以互相进行通讯)
> ping 192.168.0.56(本机的ip地址)
十八、关于SecureCRT 连接配置 端口22
协议是ssh
(类apache走80端口 协议是http)
十九、光驱的挂载 光驱使用,其挂载是手动的
1)创建一个普通目录
2)找到光驱硬件设备(/dev/cdrom)
3) 使得普通目录与光驱硬件设备进行联系(挂载)
准备:
在光驱里边放入光盘
找到光驱设备文件 /dev/cdrom
具体的挂载指令:
> mount 硬件 挂载点目录(普通目录) //挂载动作
> mount /dev/cdrom /home/tang/rom //把光驱挂载到rom目录
> umount 硬件或挂载点 //卸载动作
> umount /dev/cdrom //硬件卸载光驱
> umount /home/tang/rom //挂载点卸载光驱
> eject //弹出光盘
二十、Linux系统软件的安装 1.二进制码软件安装: 1)方式1:rpm方式
进入挂载点rom文件 进入其中的Package目录中
安装vsftp
> rpm -i[vh] 软件包全名 //安装rpm软件
> rpm -q 软件包名 //query查看rpm安装情况
> rpm -qa 软件包名 //查看系统里边全部rpm安装的软件
> rpm -e 软件包名 //卸载软件
> rpm -qa |grep ftpd(部分名)//模糊查找指定ftpd是否有安装
2)方式2:yum智能方式
使用ftp软件 走ftp协议 占用21端口
> service vsftpd start //启动ftp软件
> service vsftpd stop //关闭ftp软件
> service vsftpd restart //重启ftp软件
> ps -A |grep ftp //查看ftp的服务进程
使用ftp之前测试本机与Linux的ftp端口21是否通畅
在Windows dos命令行中输入
> telnet 192.168.0.13 21检测21号端口是否正常使用 如果窗口没有提示 220(vsftpd)则不通畅
不通畅的解决方法:
关闭系统防火墙
> setup 进入将防火墙关闭
使用ftp 需要安装一个客户端 winscp
安装连接服务器 (登录提示失败)
解决登录失败:关闭selinux
>vi /etc/selinux/config 完成编辑并reboot重启系统,并启动ftp服务
selinux:安全增强型Linux 对系统起着安全保护作用
编辑/etc/selinux/config 把enforcing改为disabled 禁用selinux
创建tar目录将安装包文件导入tar中 并给tar创建其他组用户创建w权限才可以向里面复制东西
ftp两个优化 1,ftp服务可以在配置文件中做设置,设置用户对ftp的使用权限
两个文件对用户进行了限制 在这两个文件中设置权限默认root用户是不能访问htp服务的
/etc/vsftpd/user_list
/etc/vsftpd/ftpusers
配置文件修改后要重启ftp服务
2,限制普通用户访问根目录
/etc/vsftpd/vsftpd.conf
修改97,99行 将97行打开 将99行打开再修改
/etc/vsftpd/chroot_list 这个文件需要创建,将只允许访问自己家目录的用户添加进这个文件
2.源码编译方式安装软件 1)首先安装gcc编译软件
gcc编译器安装(翻译c语言为二进制码内容)
在挂载磁盘的rom文件夹中找到gcc
使用rpm的方式安装
安装失败原因,需要安装额外的依赖(软件依赖或者软件内部功能模块的依赖)
2)安装步骤
先解压安装包 在解压出的文件夹中配置configure文件
1,设置./configure //在解压软件目录内部执行
//相关参数配置,软件安装位置,依赖软件设置,软件依赖检查等
//例如--prefix是设置软件的安装位置
>#./configure --help //查看当前软件可以设置的各种参数
2,make //编译,根据configure的配置信息生成二进制文件
3,make install //把生成的二进制文件复制到系统指定目录(本质与rpm安装软件一致)
make && make install 合并执行2、3
安装包放置于tar文件目录中了(按顺序安装所需软件) 1,zlib(对许多其他软件的编译代码起着优化、压缩的作用)\
># ./configure
2,apache
># ./configure --prefix=/usr/local/http2 \
> --enable-modules=all \
> --enable-mods-shared=all \
> --enable-so(可以识别so后缀的模块文件)
开启apache(第一次启动有服务提示)
进入/usr/local/apache2/bin
># ./apachectl start
解决服务提示的方法:修改apache配置文件httpd.conf ,找到ServerName去除前面的#即可
enable-mods-shared=all //模块共享型 要把全部的功能模块代码内容都编译到apache本身软件内部 特点:apache本身软件会稍显臃肿,但是在调用相关模块的时候速度回很快
相对应类型:static 静态类型 apache内部要被编译进许多模块代码,其他模块代码都独立存在,需要什么模块,就立即include引入值 特点:apache软件本身会非常小巧,其运行速度回很快
3,安装PHP前安装依赖 xml
># ./configure --prefix=/usr/local/libxml2 \
> --without-zlib
4,jpeg8
># ./configure --prefix=/usr/local/jpeg \
> --enable-shared --enable-static
5,png
># ./configure
6,freetype
># ./configure --prefix=/usr/local/freetype
7,GD库
># ./configure --prefix=/usr/local/gd \
> --with-jpeg=/usr/local/jpeg \
> --with-png --with-zlib \
> --with-freetype=/usr/local/freetype
8,php
> ./configure --prefix=/usr/local/php \
> --with-apxs2=/usr/local/http2/bin/apxs \
apache的支持,其作用:
1,给apache生成php模块
2,修改/usr/local/apache2/bin/httpd.conf的配置文件,使其引入php模块
> --with-mysql=mysqlnd \
> --with-pdo-mysql=mysqlnd \
> --with-mysqli=mysqlnd \
mysqlnd表示会激活本地的mysql驱动
> --with-freetype-dir=/usr/local/freetype \
> --with-gd=/usr/local/gd \
> --with-zlib --with-libxml-dir=/urs/local/libxml2 \
> --with-jpeg-dir=/usr/local/jpeg \
> --with-png-dir \
> --enable-mbsting=all \
表示宽字节函数库对php的支持
> --enable-mbregex \
正则表达对php的支持
> --enable-shared
配置PHP 复制php.ini指定文件到指定目录
># cp php.ini-development /usr/local/php/lib/php.ini
PHP安装完成, 会使得/usr/local/apache2/conf/httpd.conf把对应的php模块给引入进来
文件修改后重启apache
配置apahce使其支持PHP 1,在httpd.conf中增加如下语句,是apache遇到PHP文件对齐进行解析
: AddType application/x-httpd-php .php (见图文件配置修改)
2,修改usr/local/php/lib/php.ini 配置时区(见图配置时区)
9.mysql
1,安装cmake(更先进的configure)
># ./bootstrap(这是源码编译方式,不要用这种方式)
>rpm -ivh cmake(用rpm方式安装)
2,编译安装mysql
># cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
配置mysql 1,复制一个配置文件
>cp support-files/my-medium.cnf /etc/my.cnf //给mysql
2,配置并初始化mysql
># useradd mysql //创建一个mysql用户
># chmod +x /usr/local/mysql
如果数据库用户不小心删光了:
1)删除/usr/local/mysql/data目录
2)同时删除旧的mysql服务
>ps -A | grep mysql
killall mysqld 或 kill -9 mysql进程号码
3)从这开始再执行一遍下边的指令
>shown -R mysql.mysql/usr/local/mysql //为mysql设置组名和组别
初始化mysql数据库(创建系统默认数据mysql/test等)
># /usr/local/mysql/script/scripts/mysql_install_db \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data &
把mysql安装文件(除了data)的主人都改为root,避免数据库恢复为出厂设置
># chown -R root /usr/local/mysql
># chown -R mysql/usr/local/mysql/data
后台运行mysql
># /usr/local/mysql/bin/mysqld_safe --user=mysql &
查看mysql是否有启动
># ps -A | grep mysql
测试数据库
># /usr/local/mysql/bin/mysql -u root
mysql>show databases
设置mysql账号密码 mysql>use mysql;
mysql>UPDATE user SET Password=password('123456') WHERE user='root';
mysql>flush privileges;
二十一、解压压缩包命令 > tar zxvf 压缩包.tar.gz //解压.tar.gz格式
> tar jxvf 压缩包.tar.bz2 //解压.tar.bz2格式
二十二、删除安装后的文件 1,删除安装后的文件(有指定安装目录情况/usr/local/http2)
2, 删除解压后的目录
3,重新解压,重新configure,重新make,重新make install
二十三、二进制码和源码安装的取舍 1.软件安装后使用的用户非常少,(如ftp,gcc)则使用二进制码安装
2.软件安装后使用的用户非常多,(如php,apache,mysql)则使用源码安装
为正常使用来必力评论功能请激活JavaScript