zoukankan      html  css  js  c++  java
  • linux基础命令

    linux的目的:

    1,自动化运维

    2,CMDB

    3,项目发布上线

    运维:
    1,数据不能丢失

    2, 7*24不间断

    3, 提高服务运行效率

    尺寸,单位:

    1u = 1.75英尺 = 4.445cm 宽度

    2u

    4u

    服务器的内部组成
    电源
    双路或多路电源 UPS 蓄电池 发电机 自备油罐

    CPU
    1路 = 1个 2路 4路
    核心数量不等于个数


    中央处理器
    常见品牌:inter AMD

    内存
    断电丢失
    速度快
    为了平衡CPU 和硬盘的速度差异
    常见的 1600 2300


    buffer 缓冲区 将数据写入内存时 称为缓冲
    cache 缓存 从内存读取数据 叫缓存





    硬盘
    访问速度慢
    成本低

    接口分类:
    sata scsi sas PCI-E 代表:MAC

    服务器要保证数据不能丢

    raid 磁盘阵列
    1.保证数据安全

    2.提高访问效率

    raid0
    就是普通磁盘 没有什么策略 坏了数据就没了, 存储一些非重要数据
    效率比较高

    raid1
    镜像 完全备份
    两个磁盘数据一致
    可以保证数据安全
    容量浪费一半

    raid3
    使用单独的磁盘来存储奇偶校验的数据
    性能较低 因为受到偶校验数据所在磁盘的性能限制

    raid5
    常规款
    相互存储对方的奇偶校验数据
    性能 比raid3更高

    raid10 01
    效率200% 与raid0 ,容量浪费一般
    土豪专用款

    一些关于linux的简单的命令:

    修改网卡命名规范:

    修改网卡
    1.修改配置文件名称
    /etc/sysconfig/network-scripts/ 名称为:ifcfg-xxx
    2.修改配置文件内的 device 和name

    3.修改内核参数
    vi /etc/sysconfig/grub
    quiet 前加入 net.ifnames=0 biosdevname=0
    4.更新参数
    grub2-mkconfig -o /boot/grub2/grub.cfg
    5.重启
    shutdown -r now

    重启系统

    关机:
    shutdown

    shoudown -h 10 指定多少时间关机

    shotdown -r 10 指定多少时间后重启

    shutdown -r 0/now 表示进行立即重启操作

    shutdown -c  取消重启方案

    man mannual 帮助手册

    man xxx(莫莫莫)来看这个xxx有什么相关操作 

    关机重启的其他方法:

    halt (注意避免使用。只是关闭系统, 不关闭电源)

    poweroff

    init 0

    重启

    shutdown -r now

    退出:

    logout / exit

    其他的命令

    pwd (显示目录)

    cd(切换)

    mkdir(创建目录信息) 如: mkdir / oldboy

    touch(摸, 创建文件)

    ls = list(目录详情)

    ll

    cat 查看文件信息命令

    echo 将信息进行输出:如: echo "hello world"

       [root@oldboysh03-znb oldboy]# echo hello world > /oldboy/oldboy.txt
    ​	   [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt 
    ​	   hello world
    ​	   [root@oldboysh03-znb oldboy]# echo oldboyedu.com > /oldboy/oldboy.txt
    ​	   [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt 
    ​	   oldboyedu.com
    ​	   [root@oldboysh03-znb oldboy]# echo oldboyedu02.com >> /oldboy/oldboy.txt
    ​	   [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt 
    ​	   oldboyedu.com
    ​	   oldboyedu02.com
    

    cp --copy

       # 将/etc/hosts文件复制到/oldboy目录中
       
       常见问题:
       在复制文件时,不要再文件名称后面加上/ 一般只有目录后面有/
       [root@oldboysh03-znb oldboy]# cp /etc/hosts  /oldboy
       [root@oldboysh03-znb oldboy]# ll /oldboy/
       total 16
       drwxr-xr-x. 3 root root  18 Dec  5 09:33 hedanchun
       -rw-r--r--. 1 root root 158 Dec  5 10:53 hosts
       -rw-r--r--. 1 root root  30 Dec  5 10:17 oldboy.txt
       -rw-r--r--. 1 root root  42 Dec  5 10:41 olddog.txt
       drwxr-xr-x. 2 root root   6 Dec  5 09:31 oldgirl
       -rw-r--r--. 1 root root  12 Dec  5 10:40 oldgirl.txt
       [root@oldboysh03-znb oldboy]# cp /etc/hosts  /oldboy01
       [root@oldboysh03-znb oldboy]# ll /oldboy01
       -rw-r--r--. 1 root root 158 Dec  5 10:53 /oldboy01
       
       正确复制文件方法
       [root@oldboysh03-znb oldboy]# cp /etc/hosts  /oldboy/
       cp: overwrite ‘/oldboy/hosts’? y
       说明:文件没有存在会直接复制, 如果已经存在会提示是否覆盖
       
       如何正确复制目录信息
       [root@oldboysh03-znb oldboy]# cp /etc/sysconfig/  /oldboy/oldgirl/
       cp: omitting directory ‘/etc/sysconfig/’
       [root@oldboysh03-znb oldboy]# cp -r /etc/sysconfig/  /oldboy/oldgirl/
       [root@oldboysh03-znb oldboy]# ll /oldboy/oldgirl
       total 4
       drwxr-xr-x. 6 root root 4096 Dec  5 11:03 sysconfig  

    对文件或目录数据信息进行移动的操作

       move -- mv
    	mv 参数 要移动数据信息  移动到什么位置
    	移动/etc/selinux/config 到 /oldboy/shanghai/
       [root@oldboysh03-znb oldboy]# ls /oldboy/shanghai
       ls: cannot access /oldboy/shanghai: No such file or directory
       [root@oldboysh03-znb oldboy]# mkdir /oldboy/shanghai
       [root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/
       [root@oldboysh03-znb oldboy]# ls /oldboy/shanghai/
       config
    

      

      [root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/
       mv: cannot stat ‘/etc/selinux/config’: No such file or directory
       [root@oldboysh03-znb oldboy]# mv  /oldboy/shanghai/config  /etc/selinux/
       [root@oldboysh03-znb oldboy]# ls /etc/selinux/
       config  final  semanage.conf  targeted  tmp
       
       可以对文件信息进行重命名操作
       [root@oldboysh03-znb oldboy]# ls
       hedanchun  hosts  oldboy.txt  oldboy.txt.bak  olddog.txt  oldgirl  oldgirl.txt  shanghai
       [root@oldboysh03-znb oldboy]# mv hosts hosts01
       [root@oldboysh03-znb oldboy]# ls
       hedanchun  hosts01  oldboy.txt  oldboy.txt.bak  olddog.txt  oldgirl  oldgirl.txt  shanghai
    
    7)数据的删除命令
       remove -- rm
       rm 参数 要删除的数据信息
       
       # 删除oldboy目录中的hosts01文件
       [root@oldboysh03-znb oldboy]# ls
       hedanchun  hosts01  oldboy.txt  oldboy.txt.bak  olddog.txt  oldgirl  oldgirl.txt  shanghai
       [root@oldboysh03-znb oldboy]# rm hosts01
       rm: remove regular file ‘hosts01’? y
       [root@oldboysh03-znb oldboy]# ls
       hedanchun  oldboy.txt  oldboy.txt.bak  olddog.txt  oldgirl  oldgirl.txt  shanghai
       
       # 删除目录操作
       [root@oldboysh03-znb oldboy]# ls
       hedanchun  oldboy.txt  oldboy.txt.bak  olddog.txt  oldgirl  oldgirl.txt  shanghai
       [root@oldboysh03-znb oldboy]# rm shanghai/
       rm: cannot remove ‘shanghai/’: Is a directory
       [root@oldboysh03-znb oldboy]# rm -r shanghai/
       rm: remove directory ‘shanghai/’? y
       
       # 如何强制删除数据信息
       [root@oldboysh03-znb oldboy]# rm -f  olddog.txt
       [root@oldboysh03-znb oldboy]# ls olddog.txt
       ls: cannot access olddog.txt: No such file or directory
       [root@oldboysh03-znb oldboy]# rm -fr hedanchun
       [root@oldboysh03-znb oldboy]# ls hedanchun -d
       ls: cannot access hedanchun: No such file or directory
       
       [root@oldboysh03-znb oldboy]# rm -fr /  oldboy/oldboy.txt
       rm: it is dangerous to operate recursively on ‘/’
       rm: use --no-preserve-root to override this failsafe
       [root@oldboysh03-znb oldboy]# rm -fr / --no-preserve-root
       说明:默认从centos6.7 开始就有/目录自我保护机制
    

    与Windows的区别

    在Linux中,没有盘符,一切都从根开始,

    如图:


    挂载

    挂载是指使用操作系统可以访问莫一个存储设备的过程,一句话总结就是分配一个路径给存储设备,等同于Windows下的指定盘符

    目录详细

    目录	说明	备注
    bin	存放普通用户可执行的指令	
    boot	开机引导目录	包括Linux内核文件与开机所需要的文件
    dev	设备目录	所有的硬件设备及周边均放置在这个设备目录中
    etc	各种配置文件目录	大部分配置属性均存放在这里
    lib/lib64	开机时常用的动态链接库	bin及sbin指令也会调用对应的lib库
    media	可移除设备挂载目录	类似软盘 U盘 光盘等临时挂放目录
    mnt	用户临时挂载其他的文件系统	额外的设备可挂载在这里,相对临时而言
    opt	第三方软件安装目录	现在习惯性的放置在/usr/local中
    proc 虚拟文件系统	通常是内存中的映射,特别注意在误删除数据文件后,比如DB,只要系统不重启,还是有很大几率能将数据找回来 
    root	系统管理员主目录	除root之外,其他用户均放置在/home目录下
    run	系统运行是所需文件	以前防止在/var/run中,后来拆分成独立的/run目录。重启后重新生成对应的目录数据
    sbin	只有root才能运行的管理指令	跟bin类似,但只属于root管理员
    snap	ubunut全新软件包管理方式	snap软件包一般在/snap这个目录下
    srv	服务启动后需要访问的数据目录	
    lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
    sys	跟proc一样虚拟文件系统	记录核心系统硬件信息
    tmp	存放临时文件目录	所有用户对该目录均可读写
    usr	应用程序放置目录	
    var 包括系统一般运行时要改变的数据.例如各种日志记录,邮件来往等,每个系统是特定的,不通过网络与其他计算机共享.
    

    etc下文件的重要文件


     

    主机名称的获取与修改

    获取主机名称

    uname -n

    hostname

    获取全部系统信息

    uname -a

    hostnamectl #更详细

    设置主机名称

    hostnamectl set-hostname name

    重新连接生效 也可以使用bash创建子shell 是一个新的会话环境所以可以立即显示新的主机名称

    字符编码设置

    查看当前字符集

    echo $LANG

    $表示表示要查看某个环境变量 变量名称为LANG

     

    临时修改字符集

    export LANG=en_US.UTF-8

    export 命令可以修改当前会话下某个环境变量的值,登出后失效

     

    测试是否生效

    type if

    type 是用于输出某个值的类型 与py的type类似,查看其是否显示英文/中文

     

    永久修改字符集

    1.修改配置文件

    vim /etc/locale.conf

    2.命令行修改

    localectl set-locale LANG=en_US.UTF-8

    注意:以上两种方式修改后都不会立即生效,需要重新加载配置文件

    source /etc/locale.conf # 当然重新启动也可以

    修改运行级别

    运行级别用于控制系统运行在何种状态下

    查看当前级别

    查看详细信息

    ll /etc/systemd/system/default.target

    vim /etc/systemd/system/default.target

    仅级别

    systemctl get-default

    runlevel #centos 6

    查看所有可用级别

    ll /usr/lib/systemd/system/runlevel*.target

    ll /etc/inittab #centos 6

    修改当前级别

    init 5 # 修改为第五个级别,使用systemctl get-default来查看效果,发现该方式在centos7下不生效

    systemctl set-default graphical.target

    graphical.target 也可以修改为文件名称

    systemctl set-default runlevel3.target

    注意:通常运行在3级别

     

    设置别名

    别名指的是 给某个指令设置别名,可用简化命令的编写,或是提供额外的功能

    例如 系统的在执行删除指令前都会先提示,其实就是使用了别名,

    查看别名

    alias

    设置新的别名(临时)

    alias rm='echo rm is dangerouse be careful' # 执行rm时仅提示信息

    注意:被替换的也一定是一个命令,所以当你要输出内容时,就用echo

    alias rm='echo rm is dangerouse be careful;rm -f' # 执行rm时提示信息 并删除

    设置新的别名(永久)

    在配置文件中编写 设置别名的指令

    vim /etc/profile

     

    退出vmi,重新加载文件

    source /etc/profile

    如果别名与系统重复,需要注释其中一个

    vim ~/.bashrc

    注释同名的 #alias rm ='rm -i'

    source ~/.bashrc

     

    系统默认配置文件(环境变量)

    1.全局的

    /etc/profile 该文件在用户登录时加载 无论哪个用户

    /etc/bashrc 该文件在系统启动时自动加载 无论哪个用户

    2.用户自己的 只针对某个用户有效

    ~/.bash_profile

    ~/.bashrc

     

     

     

    设置变量 环境变量

    查看所有变量

    env

    查看某个变量

    echo $变量名称

    设置临时变量

    export 变量名=值

    设置永久变量

    将变量的定义放到某个环境变量文件中

    vim /etc/profile

    MYNAME=jerry

    测试

    echo $MYNAME

    取别名的优化案例:

    cat >>/etc/profile.d/color.sh<<"EOF"
    alias ll='ls -l --color=auto --time-style=long-iso'
    PS1='[e[32;1m][u@h W]$ [e[0m]'
    EOF
    source  /etc/profile

     

    usr目录

    /usr/local 编译安装软件默认的路径

    /usr/src 存放源码文件的路径

    软件安装

    yum方式

    yum是通常发行版的linux系统都内置了yum包管理器,使用它可以很方便的管理软件包,必须联网使用

    安装

    yum install -y sl

    搜索

    yum search sl

    删除

    yum remove sl

    查看命令所在软件包

    yum provides sl

    查看源仓库

    yum repolist

    rpm方式

    全称 redhat packages manager ,是一个本地的包管理器,需要提供安装文件

    1.安装一个rpm包:

    用法:rpm -ivh rpm_name

    参数解释: -i(install):安装软件包。 -v(verbose):显示安装的过程信息。可视化。 -h(hash):软件安装的时候列出哈希标记。即显示安装进度。 另外在安装一个rpm包时常用的附带参数有: --force : 强制安装,即使覆盖属于其他包的文件也要安装

     

    2.卸载一个rpm包

    命令:rpm -e filename

    3.查询一个包是否安装:

    命令:rpm -qa rpm包名

    4.列出一个rpm包安装的所有文件

    命令 rpm -ql 包名

    5.列出一个rpm包的配置文件

    命令 rpm -qc 包名

    6.查看命令所在的绝对路径

    which netstat

    7.查看文件归属软件包

    rpm -qf /usr/bin/netstat

     

    编译安装源码

    当我们下载的是一个tar的源码文件时,需要先编译后才能进行安装,详见笔记:

    var

     

    porc

     

    查看负载信息

    w

    uptime

     

    dev

     

    zero 可以用中读取任一大小的null 空数据,用于模拟数据流,或是作为黑洞设备,创建大文件,测试传输速率等

    null 将一些不需要的数据重定向到该设备,以避免打印信息到屏幕

    修改配置文件后 需要source


    环境变量配置文件


    1.全局的
    /etc/profile
    /etc/bashrc
    2.用户独享的
    ~/.bash_profile
    ~/.bashrc

    软件包的安装方式
    1.yum 基于网络
    install remove search -y
    provides netstat
    2.rpm 基本本地安装包的管理器
    rpm -ivh rpm包的路径
    rpm -e 包名

    3.编译安装
    适用于源码安装
    .configure 配置文件 用来指定编译相关的参数
    make 编译
    make install
    创建软连接 (忽略版本信息)
    添加到环境变量

    PATH=$PATH:你的bin路径
    export PATH


    今日内容
    linux文件类型
    一切皆文件

    - 普通文件
    d 目录
    l 链接文件
    p 管道文件
    c 字符设备 (键盘 打印机)
    b 块设备 (u盘 硬盘 CD 存储设备)
    s socket文件

    txt 文本
    log 日志文件
    cfg conf configure xml 配置文件
    sh csh shell脚本
    py python脚本

    后缀对于linux系统没有任何意义
    windows中用于关联应用程序

    硬链接
    每一个文件存储在linux中
    都有一个节点信息和磁盘上的真实数据
    访问数据时都是先查找节点信息 在读取节点中
    物理地址从而找到对应的数据
    硬链接指的是 完全的复制了一份节点数据

    特点: 两个节点指向同一个物理地址
    其中一个进行了修改 也会 同步反映到另一个硬连接中

    软连接
    是指向了另一个节点信息(硬链接)


    共同点都不会占用多余的内存

    硬链接 可以防止数据被直接删除

    当服务器运行了很长时间后 可能会出现磁盘已满的问题但是当你查看容量时发现还有空闲容量
    可能是因为inode节点不够用了,是由于小文件过多造成的
    使用find 来查找小文件 进行清理

    如果确实视容量不足 我们可以删除无用大文件
    使用du命令查找
    du / -sh |grep G # 查找超过一个G的文件
    然后一步一步跟踪找到对应文件进行清理

  • 相关阅读:
    linux下安装jmeter
    Jmeter 跨线程组传递参数 之两种方法
    Jmeter之Json Path Extractor 接受上一个请求的响应参数
    Jmeter之添加响应断言,bean shell post processor
    Jmeter 分布式压力测试
    Jmeter之一个请求获取上一个请求的参数
    selenium自动化测试实例
    SqlBulkCopy类进行大数据(一万条以上)插入测试
    SqlServer存储过程传入Table参数
    Asp.Net EF Code First 简单入门
  • 原文地址:https://www.cnblogs.com/sudaguo/p/10821326.html
Copyright © 2011-2022 走看看