Linux高级

一、常用命令补充

  • 文件查看
例如:
  $ ls -l  // 查看文件信息
简写:
  $ ll
  • 文件实时查看
例如: 
  $ tail -f hello.c  
  • 删除操作
  语法:
    $ rm -rfi   // -r追层删除  -f强制删除  -i用户交互删除,询问是否删除
  • 权限添加
u(user): 当前用户
a(all): 所有用户
g(group):同组用户
o(other): 其他用户

例如: 
   $ chmod g+w hello.c    // 给文件中同组用户添加一个可读权限  
   $ chmod go+w file2.txt 
   $ chmod ugo+w file2.txt
  • ssh通道
    SSH 为 Secure Shel的缩写,SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
语法:
  ssh 用户名@IP地址
例如:
  $ ssh zhangsan@192.168.1.133
备注:
  连接服务器可以借助xShell、putty等工具,也可以通过ssh方式。
  • date查看系统时间
  $ date  // 查看系统时间
  $ date -s "2018-01-01 00:00:00"  // 修改系统时间
  • 查看系统信息
  $ cat /etc/issue    // 查看系统版本
  $ file /sbin/init      // 查看系统位数
  • 查看历史命令
  $ history  // 终端输入的历史命令
  • 查看进程
  语法:
    ps -ef 
  例如:
    $ ps -ef
    $ ps -ef | grep mysql  // 查看MySQL进程是否起来
备注:
    UID    // 用户名 
    PID    // 进程的ID 
    PPID   // 父进程ID 
    C      // 进程占用CPU的百分比 
    STIME  // 进程启动到现在的时间 
    TTY    // 该进程在那个终端上运行,若与终端无关,则显示?
    CMD    //命令的名称和参数

  • 进程管理
语法:
  pkill 服务名
  kill 进程号
  kill -9 进程号 // 强制杀死进程
例如:
  $ pkill 服务名  // 杀死对应服务名的所有进程
  • 磁盘空间
  $ df   // 磁盘空间大小
  $ df   -hl  // 磁盘空间大小
  • 内存占用
  $ free
  • 用户登录信息
  $ who
  • 查看网络状态信息
  $ netstat -anp  
  $ netstat -anp | grep 3333  // 查看端口被哪个服务占用
  • 重启网络
  $ service network restart
  • 系统相关
  $ reboot  // 重启系统
  $ shutdown   // 关闭系统
  • zip打包解包
打包语法:
    zip -r xxx.zip  文件1 文件2...
例如:
    $ zip -r source.zip a.txt b.txt  // 将多个文件打包
    $ zip -r source.zip .   // 将当前路径下文件打包
    $ zip -r source.zip Test/  // 将Test目录打包

解包语法:
  unzip xxx.zip
  unzip 包名 -d 目录  // 解压zip包到指定目录
例如: 
   unzip source.zip
   unzip source.zip -d aaa/
  • gzip压缩解压
压缩语法:
  gzip  需要打包的文件  // 把文件进行压缩,原来的文件则没有了,解压缩也一样 
例如:
  $ gzip test.txt     //  test.txt.gz
  $ gzip test.zip    // test.zip.gz
  $ gzip 

解压语法:
  gunzip xxx.gz
例如:  
  $ gunzip 01-test.c.gz

备注: 
  只能压缩文件,不能压缩目录
  • tar压缩解压
打包语法:
  tar -cvf xxx.tar 文件1 文件2...
例如:
  $ tar -cvf source.tar a.txt b.txt

解包语法:
  tar -xvf 包名
  tar -xvf 包名 -C 目录   // 指定目录
例如:
  $ tar -xvf source.tar

打包并压缩语法:
  tar -zcvf xxx.tar.gz 文件1 文件2...    // 打包并压缩
例如:
  $ tar -zcvf source.tar.gz a.txt b.txt

解压语法:
   tar -zxvf xxx.tar.gz
   tar -zxvf 包名 -C 目录   // 指定目录
例如:
  tar -zxvf source.tar.gz

备注打包:
  -c 产生.tar打包文件,在使用tar打包目录的时候,-c是必要的选项,表示create创建一个打包文件
  -v 显示详细信息,可选项,是在命令执行的时候,显示命令执行的过程
  -f 指定压缩后的文件名,必选项,该选项必须放在所有选项的后面,后面跟住新的文件名
  -z 打包同时压缩
备注解包: 
  -x 解包.tar文件
  -v 显示详细信息
  -f 指定解压文件
  -z 解压缩
  • 创建用户
语法:
  useradd 用户名
例如:
  $ useradd zhangsan
  • 删除用户
语法:
  userdel 用户名
例如:
  $ userdel zhangsan
备注:
  如果提示`userdel: user zhangsan is currently logged in`,就强制删除`userdel -r -f  zhangsan`
  • 修改用户密码
语法:
  passwd 用户名
例如:
  $ passwd zhangsan    // 输入两次密码
  • 查看所属
语法:  
  groups 用户名
例如:
  $groups zhangsan
  • 创建用户组
语法:
  groupadd 组名
例如:
  $ groupadd cxy
  • 删除用户组
语法:
  groupdel 组名
例如:
  $ groupdel cxy
  • 添加到组
语法:
  gpasswd -a 用户名 组名
例如:
  $ gpasswd -a zhangsan cxy
  • 从组中删除
语法:
  gpasswd -d 用户名 组名
例如:
  $ gpasswd -d zhangsan cxy
  • 修改文件所属者所属组
语法:
  chown -R 用户名:组名 文件名
例如:
  chown -R atom:atom lisi/

cat /etc/group文件包含所有组
cat /etc/shadow和cat /etc/passwd系统存在的所有用户名

  • 文件传输
语法:
  scp 用户名@远程服务器的IP:/文件路径  想要存放的路径

Windows与Linux中,文件传输可以使用xftp。

二、Linux其他

  • 磁盘分区
    在Windows操作系统中,是先将物理地址分开,再在分区上建立目录.在Windows操作系统中,所有路径都是从盘符开始,如C://program file。
    Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。
    无论是Windows操作系统,还是Linux操作系统,每个分区均可以有不同的文件系统,如FAT32、NTFS、Yaffs2等。

boot分区: 该分区对应于/boot目录,存放Linux的bootloader和内核源码,用户对/boot目录的操作就是操作该分区;
swap分区: Linux下的虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行.所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行(大小为物理内存的2倍);
根分区: 在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区.因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区;
备注: 在创建Linux分区时,一定要创建SWAP/根分区!

  • 文件系统
    文件系统,即在存储设备上组织文件的方法;
    Windows: FAT16、FAT32、NTFS
    Linux: EXT2、EXT3、VFAT

三、Linux测试环境搭建

yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

在centos上安装为yum install XXX,相对卸载即为yum remove XXX。

  • LAMP环境
  L: Linux
  A: Apache
  M: MySql
  P: PHP
  • Apache
安装:
  $ yum install httpd  // 安装时会询问是否下载或安装,输入y,回车:Is this ok [y/N]:y

配置,让 Apache 随系统启动:
  $ chkconfig --level 235 httpd on

启动:
  $ /etc/init.d/httpd start    或动    $ service httpd start

测试: 
  浏览器,输入对应IP地址
Apache安装完成

在 CentOS 中 Apache 的默认根目录是 /var/www/html即可以将网站放置位置,而配置文件 /etc/httpd/conf/httpd.conf;
其他配置存储在 /etc/httpd/conf.d/ 目录;

关闭防火墙(访问不了时):
$ service iptables stop // 停止
$ chkconfig iptables off // 禁用

chkconfig命令用来更新、查询、修改不同运行级上的系统服务,这个命令就相当于一个开关,不过这个开关有[0-6]共7个档
【需要开机自动启动时涉及到】
0 - 停机
1 - 单用户模式 
2 - 多用户,没有NFS 
3 - 完全多用户模式(标准的运行级) 
4 - 没有用到 
5 - X11(xwindow) 
6 - 重新启动 

表示在不同级别下的运行状态是on还是off。所以千万不用讲运行级别设置为0,6;最常用的就是2,3,5;
语法: chkconfig --level 服务名 <on|off|reset>    // 级别设置
例如: chkconfig --level 235 httpd on

语法: chkconfig --list   // 服务列表
例如: chkconfig --list | grep httpd    // 结合grep命令快速查看对应服务
  • MySql
安装:
  $ yum install mysql mysql-server  // 安装时会询问是否下载或安装,输入y,回车:Is this ok [y/N]:y

配置,随系统自动启动:
  $ chkconfig --list | grep mysqld    // 检查是否为开机启动
  $ chkconfig --level 235 mysqld on   // 开启,开机启动

启动数据库:
  $ service mysqld start    或    $ /etc/init.d/mysqld start

设置数据库密码:
  $ mysql_secure_installation   
     Enter current password for root (enter for none):    // 按回车
     Set root password? [Y/n]  // 回车(默认Y)
     New password:   // 输入密码(后续再次输入密码确认)
     Remove anonymous users? [Y/n]  // 回车
     Disallow root login remotely? [Y/n]  // 回车
     Remove test database and access to it? [Y/n]  // 回车
     Reload privilege tables now? [Y/n]  // 回车

建立远程连接用户:
  $  mysql –uroot –p123456  // 连接数据库,-u用户名 -p密码
  mysql> use mysql;
  mysql> select * from user;
  // 第一个admin表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个admin123表示密码
  mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin123' WITH GRANT OPTION;    
  mysql> select * from user;  // 查看远程连接用户admin是否新增成功,若存在则成功
  mysql> exit;    // 退出  

通过Navicat连接数据库,测试远程用户是否创建成功(远程连接用户和密码);

查看启动状态:
$ service mysqld status
启动、关闭、重启
$ service mysqld stop/start/restart

  • PHP
安装:
  $ yum install php   // 安装时会询问是否下载或安装,输入y,回车:Is this ok [y/N]:y

重启Apache服务:
  $ /etc/init.d/httpd restart

安装PHP扩展:
  $ yum install php-mbstring   // 安装时会询问是否下载或安装,输入y,回车:Is this ok [y/N]:y

测试是否安装成功:
在/var/www/html中添加info.php文件,文件内容如下:
<?php
phpinfo();
?>
浏览器中输入: IP/info.php

  • PHP模块和MySql模块关联起来
搜索模块:
  $ yum search php 

安装相关模块:
  $ yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

重启Apache:
  $ /etc/init.d/httpd restart

浏览器中输入(找到相关 MySQL 模块,看是否检测到相关信息):
  IP/info.php

四、LNMP(LAMP)一键安装

$ wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

// 默认安装lnmp可不写,如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值