linux的基础命令(二)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: linux的基础命令(二)

输出重定向


ls   >  name.list
ls  -l  > name.list   覆盖 
ls      >>   name.list   追加


进程和服务管理

进程管理三个主要任务:
        判断服务器健康状态
        查看所有正在运行的进程
        强制终止进程

进程查看系统运行状况

1   ps  aux     查看当前系统所有运行的进程
    -a  显示前台所有进程
    -u  显示用户名
    -x  显示后台进程
    user: 用户名
    pid:    进程id。PID         init  系统启动的第一个进程
    %CPU    cpu占用百分比
    %MEM    内存占用百分比
    VSZ 虚拟内存占用量     KB
    RSS 固定内存占有量
    tty 登录终端        本地终端        远程终端        
    stat    状态  S:睡眠 D:不可唤醒 R:运行      T:停止  
    start   进程触发时间
    time    占用cpu时间
    command  进程本身
2   pstree       查看进程树
3   top  (动态查看)
    第一行:    系统当前时间      系统持续时间      登录用户        1,5,15分钟之前的平均负载
    第二行:进程总数
    第三行:CPU占用率      %id     空闲百分比
    第四行:内存使用:   总共      使用      空闲      缓存
    第五行:swap使用
    操作命令      M  内存排序
                P   CPU排序
                q   退出
4    w  查看系统运行情况和登录用户(静态查看)
5   进程管理        终止进程
    kill  -9  PID       结束单个进程
    -9  强制
    killall  -9  进程名        终止进程树
    pkill  -9  -t  终端号  把某个终端登录的用户踢出
    例:pkill  -9  -t tty1        把本地登录终端1登录用户踢出

服务管理

1   分类
    1)系统默认安装的服务     安装二进制包的服务
    2)源码包安装的服务
(一)系统默认安装的服务
    1   确定服务分类
        chkconfig  --list       查看服务的自启动状态
        运行级别:0-6
        0   关机
        1   单用户模式
        2   不完全多用户,不包含NFS服务
        3   完全多用户   字符界面
        4   未分配
        5   图形界面
        6   重启
      init  0   关机          init  6 重启
      runlevel          查询系统当前运行级别
      vi  /etc/inittab
      id:3:initdefault:     定义系统默认运行级别
    2   系统默认安装的服务器管理        
        1)启动
            /etc/rc.d/init.d/服务  start|stop|restart|status
            例:  /etc/rc.d/init.d/httpd  start
            service   服务名   start|stop|restart|status
        2)自启动   
          chkconfig  --list  查看
          chkconfig  --level  245  服务名  on|off 
 !!! 245 都可以   尽量不要写3,因为是系统服务 !!!
        推荐用下面这种方法
            vi  /etc/rc.local---->/etc/rc.d/rc.local
            /etc/rc.d/init.d/httpd  start
(二)源码包安装的服务
    1)手动管理  绝对路径启动   不可以状态查询
        /usr/local/apache2/bin/apachectl  start
    2)开机自启动
        vi /etc/rc.local
        /usr/local/apache2/bin/apachectl  start


计划任务

crontab  -e     编辑定时任务
        * * * * *  命令(命令一般是绝对路径)
        第一个*:一小时中第几分钟      0-59
        第二个:一天中第几个小时       0-23
        第三个:一个月中第几天         1-31
        第四个:一年第几个月          1-12
        第五个:一周中星期几          0-6     
例:      
    5   3  *  5,7,10  *  命令   5,7和10月每天三点5分执行
    */10  *  *  *  1-3   命令   星期一到星期三每隔10分钟执行
命令: 开启/关闭服务   service sshd start     
                    service sshd stop                               /usr/local/apache2/bin/apachectl restart
       备份文件/目录   cp  -r   /root/bbs   /tmp
crontab  -l     查看系统定时任务
crontab  -r     删除所有定时任务
注意事项:
选项都不能为空,必须填入,不知道的值使用通配符*表示任何时间 
每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔
间隔固定时间执行书写为*/n格式 
命令应该给出绝对路径 
    星期几何第几天不能同时出现
    最小时间范围是分钟,最大时间范围是月

网络配置

IP设置 
ifconfig   eth0   192.168.2.251     临时IP        
setup        设置永久IP  关闭防火墙
service   network   restart      (/etc/rc.d/init.d/network  restart)    重启网络服务
网卡信息文件  vim  /etc/sysconfig/network-scripts/ifcfg-eth0   
  8  IPADDR=192.168.2.251     IP地址
  9  NETMASK=255.255.255.0      掩码
 10  GATEWAY=192.168.2.1        网关
     BOOTPROTO=none         是否自动获取IP。none:不生效   static:手动    dhcp:动态获取IP
     DEVICE=eth0                网卡设备名
     ONBOOT=yes                     网卡开机启动
主机名修改 
  hostname    查看主机名 
  hostname   lampbrother   临时修改主机名
  vim  /etc/sysconfig/network      永久修改主机名
     HOSTNAME=lampbrother
DNS设置
  setup  设置DNS
  vim  /etc/resolv.conf
  nameserver  114.114.114.114
网络命令
  vim /etc/services   查看网络端口
  ifup   eth0   开启网卡
  ifdown  eth0   关闭网卡
  netstat  -an   查看网络状态
  netstat  -tlun   查看查看tcp和udp协议监听端口
    t  tcp   u  udp   l  listen 
  netstat  -rn    查看网关(默认路由default)
  route  del   default   gw   192.168.2.1   删除默认网关
  route   add  default   gw   192.168.2.1  添加默认网关
  ping  192.168.2.250       ICMP协议   测试网络连通协议    
  ping   -c  5  -s   10000   192.168.2.250   -s   发送数据大小  

VSFTP服务

一   文件服务器简介
    ftp:在内网和公网使用。   服务器:windows,linux   客户端:        windows,linux
    服务器 用 s 表示    客户端用 c 表示
1   ftp软件
    linux:  wu-ftp      早期,安全一般
    proftp      增强ftp工具
    vsftp       安全,强大
    windows IIS     windows下网页搭建服务,可以搭建ftp服务
    Serv-U      专用ftp服务器
2   原理
    开启  21      命令传输端口
    20      数据传输端口
3   ftp的用户
    1)ftp允许登录用户 就是系统用户  使用密码也是系统密码
                    上传位置:/home/家目录
    2)匿名用户  anonymous   密码:  空  
                    下载位置:/var/ftp/pub
二   安装
    mount /dev/sr0 /media
    cd /media/Packages/
    yum -y install  vsftpd  
三   相关文件(了解)
    /etc/vsftpd/ftpusers    用户访问控制文件(不是必要步骤)
    /etc/vsftpd/vsftpd.conf     配置文件
四   配置文件配置
      vim    /etc/vsftpd/vsftpd.conf
    1主机相关配置
        listen_port=21                   监听端口
        connect_from_port_20=YES        数据传输端口
        ftpd_banner=                    欢迎信息
    2   匿名用户登录          在linux下识别为  ftp  用户
        nonymous_enable=YES         允许匿名用户登录
    3   本地用户
        local_enable=YES            允许系统用户登录
        write_enable=YES            允许上传
        local_umask=022         默认上传权限
    4   限制用户访问目录
        chroot_local_user=YES       所有用户限制在家目录下
    5   关闭防火墙和selinux
        关闭防火墙   setup
        关闭 selinux
            vim  /etc/selinux/config
            SELINUX = disabled  
    6  重启生效
       reboot   重启
五   ftp客户端使用
    1、使用windows窗口
        ftp://用户名@IP
        匿名用户可以不用用户名和密码
        ftp://@ip
    2、使用第三方工具登录
        FileZilla
实验  限制用户目录权限
vim /etc/vsftpd/vsftpd.conf
96   chroot_local_user = YES
service vdftpd restart   重启服务
FileZilla  登录

Samba服务器

文件共享服务
windows  ->  linux 
(一)端口
    smbd:为clinet提供资源访问      tcp  139  445
    nmbd:提供netbios主机名解析     udp  137  138
(二)安装 ISO
    mount /dev/sr0  /media
    yum -y install samba
    samba-common        主要配置文件
    samba-client        客户端文件
(三)修改配置文件
    安全级别     share     无密码
                user      添加samba用户设置samba密码   
                server    需要服务器做解析
实验1: 安全级别  share    共享目录 /movie    
    1)建立目录/movie
       mkdir   /movie
       chmod  777  /movie
    2)修改配置文件
    vim  /etc/samba/smb.conf
    101         security = share
    263 [movie]    (这步是添加共享文件)
    264         comment = dianying   (说明)
    265         path = /movie       (路径)
    266         browseable = yes     (目录对用户可见)
    267         guest ok = yes        (访问)
    268         writable = yes      (可写)
    3)启动服务  测试
    关闭防火墙  关闭selinux
     vim  /etc/selinux/config
         SELINUX = disabled 
    service  smb  start
    service  nmb  start
    netstat  -tlun   (查看端口是否出现)
  测试     
      \\192.168.2.251
  网络驱动映射
      进入共享文件,右键,网络驱动映射,就可以在我的电脑里查看信息
实验2:安全级别  user     共享  /pub  所有用户能访问上传              /soft  只有aa能访问上传
1)建立目录
  mkdir  /pub
  mkdir  /soft
  chmod  777  /pub
  chmod  700 /soft
  useradd  aa
  passwd  aa
  chown    aa   /soft
2)修改配置文件
  vim  /etc/samba/smb.conf
  101         security = user
  263 [pub]   
  264         comment = public
  265         path = /pub
  266         browseable = yes
  267         writable = yes
  268 
  269 [soft]
  270         comment = software
  271         path = /soft
  272         browseable = yes
  273         writable = yes
3)添加samba用户
  smbpasswd   -a    aa
  smbpasswd   -a    f1
  pdbedit  -L    查看samba用户
4)重启服务  测试
  service  smb  restart
  service  nmb  restart
测试      f1 登录     
    windows 界面登录 
        CMD   net  use  *   /del    删除连接缓存
        aa  登录

SSH安全登录(必会)

联机加密工具   非对称钥匙对加密
默认(不用改):   安装   openssh
                开机自启 service  sshd restart
配置文件     vim  /etc/ssh/sshd.config
远程连接
  ssh    root@192.168.2.251  
网络复制  scp   
  scp   root@192.168.2.140:/root/httpd-2.2.29.tar.gz    /root     下载文件 
  scp  hello.list   root@192.168.2.140:/root/      上传文件
  scp   -r   root@192.168.2.140:/etc/     /root/    下载目录
  scp  -r   /etc   root@192.168.2.140:/root/      上传目录 
SSH密钥登录
   ssh-keygen -t  rsa -P ''   (必须要写)
   -P  表示密码
   cd .ssh  进入自动生成的隐藏目录
   cp  id_rsa.pub   authorized_keys  必须要写(文件49行要求)
   chmod 600    authorized_keys
客户端:
  下载私钥      登录测试
  设置 /etc/ssh/sshd_config  禁止使用密码登录(慎用!!)
  66 PasswordAuthentication no
  重启sshd服务
  service  sshd restart

lamp环境搭建


1配置yum源
mount /dev/sr0 /media
 vim /etc/yum.repos.d/CentOS-Media.repo 
[c6-media] 
name=CentOS-$releasever - Media
baseurl=file:///media/   * 修改为光盘挂载点
gpgcheck=0
enabled=1  * 改为1意为启用
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
2)剪切/etc/yum.repos.d/CentOS-Base.repo
  mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
3)依次安装gcc、gcc-c++
 yum -y install gcc  gcc-c++
关闭防火墙 和 selinux
setup    或
iptables  -F
iptables  -X
iptables  -Z
vim /etc/selinux/config
    SELINUX=disabled
复制源码包 解压缩
mv  lamp    /lamp
vim   tar.sh
    cd /lamp
    /bin/ls *.tar.gz > ls.list
        for TAR in `cat ls.list`
     do
            /bin/tar -zxf $TAR
     done
    /bin/rm ls.list
chmod  777  tar.sh

./tar.sh 查看磁盘空间(产看安装软件有没有足够的空间)


安装辅助软件包

安装libxml2
yum -y install python-devel         必须安装
 cd /lamp/libxml2-2.9.1
 ./configure --prefix=/usr/local/libxml2/
 make 
 make install
 yum  install  -y  libxml2-devel    如果报错,安装此包后再尝试安装
安装libmcrypt
cd /lamp/libmcrypt-2.5.8
 ./configure --prefix=/usr/local/libmcrypt/
 make 
 make install
安装libltdl
cd /lamp/libmcrypt-2.5.8/libltdl
 ./configure --enable-ltdl-install
 make
 make install
安装mhash
cd /lamp/mhash-0.9.9.9
./configure 
make
make install
安装mcrypt
cd /lamp/mcrypt-2.6.8
LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib  \
./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
make
make install
安装zlib
cd /lamp/zlib-1.2.3         
./configure
 make
 make install
安装libpng
 cd /lamp/libpng-1.2.31
 ./configure --prefix=/usr/local/libpng
 make
 make install
安装jpeg6
 mkdir /usr/local/jpeg6 
 mkdir /usr/local/jpeg6/bin
 mkdir /usr/local/jpeg6/lib
 mkdir /usr/local/jpeg6/include
 mkdir -p /usr/local/jpeg6/man/man1
 ###目录必须手工建立
  cd /lamp/jpeg-6b
 ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
 make   
 make install
安装freetype
 cd /lamp/freetype-2.3.5
./configure --prefix=/usr/local/freetype/
 make
 make install


安装APACHE

cp  -r  /lamp/apr-1.4.6  /lamp/httpd-2.4.7/srclib/apr
cp  -r  /lamp/apr-util-1.4.1  /lamp/httpd-2.4.7/srclib/apr-util
cd /lamp/pcre-8.34  
./configure && make && make install
 cd /lamp/httpd-2.4.7
 ./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared
 make
 make install
 启动服务
 /usr/local/apache2/bin/apachectl start
ps  aux | grep httpd
netstat –tlun | grep :80
测试  打开浏览器   192.168.2.251   有 IT works
设置开机自启动
vim  /etc/rc.local
/usr/local/apache2/bin/apachectl start
安装ncurses
yum -y install ncurses-devel
cd /lamp/ncurses-5.9
./configure --with-shared --without-debug --without-ada --enable-overwrite
make 
make install
#安装cmake和bison
yum -y install cmake
yum -y install bison
目录
相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
107 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
377 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
86 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
80 2
|
20天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
49 14
Linux 10 个“who”命令示例
|
9天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
78 20
|
9天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
34 7
|
29天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
33 9
|
27天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
1月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
129 3