美文网首页
linux——基础使用

linux——基础使用

作者: 小T呀 | 来源:发表于2021-02-22 16:43 被阅读0次

    linux shell:
    Linux纯干货知识总结|面试专用
    linux下的shell脚本(基本)
    怎样用linux命令知道系统是ubuntu还是centos或者其它
    Linux查看CPU和内存使用情况

    1、touch命令创建文本文件 zxt111

    ls/dir命令查看路径下有的文件及文件夹

    2、mkdir命令创建文件夹 (空文件夹)zxt222

    ls/dir命令查看路径下有的文件及文件夹

    3、文件及文件夹的删除

    rm zxt111 ——仅删除文件,不可删除文件夹
    rm -d zxt222 ——仅删除空文件夹
    rm -r zxt222 ——递归删除文件夹zxt222(可删除非空文件夹)
    删除总结:rm [选项] 文件
    -f, --force 强力删除,不要求确认
    -i 每删除一个文件或进入一个子目录都要求确认
    -I 在删除超过三个文件或者递归删除前要求确认
    -r, -R 递归删除子目录
    -d, --dir 删除空目录
    -v, --verbose 显示删除结果

    4、进入某文件夹 cd [文件夹名] /[子文件夹名] (可使用Tab键进行补全)

    返回上一级目录 cd ..
    返回前一目录 cd -
    返回Home目录 cd ~

    5、文件的复制粘贴 : cp [选项]... 源文件... 目录

    cp zxtaaa zxt111/zxt222
    -a:此选项通常在复制目录时使用,保留链接、文件属性并复制目录下的所有内容。其作用等于dpR参数组合。
    -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
    -f:覆盖已经存在的目标文件而不给出提示。
    -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
    复制多个文件:①通配符*②{zxtaaa,zxtbbb,...}且“,”间无空格
    cp {SN.H*,SN.S*} ./smalltest/

    -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

    -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
    -l:不复制文件,只是生成链接文件。

    6、 文件夹的复制粘贴

    文件夹zxt333中包含zxtbbb文件,将文件夹zxt333全部内容复制到文件夹zxt111/文件夹zxt222下
    cp -r zxt333 zxt111/zxt222

    7、内存使用情况

    free -m

    Mem行:
    total:内存总数 2575M
    used:已经使用的内存数 777m
    free:空闲的内存数 278m
    shared:多个进程的共享的内存数 24m
    Swap行交换分区:
    把磁盘空间当做内存用,也就是windows为什么常常提示虚拟空间不足的原因.,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.linux只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了。
    8、查看磁盘大小

    df -h

    另:虚拟机扩容

    如何将自己新加的硬盘挂载到虚拟机中?(root用户)
    ①增加的磁盘为/dev/sda   fdisk /dev/sda

    fdisk /dev/sda 
    p       查看已分区数量
    n       新增加一个分区 
    p       分区类型我们选择为主分区 
    分区号选3(选择默认即可,它会有所提示) 
    回车      默认(起始扇区) 
    回车      默认(结束扇区) 
    t       修改分区类型 
    选分区3 
    8e      修改为LVM(8e就是LVM) 
    w      保存刚才创建的分区 
    q      完成,退出fdisk命令(有时这条命令不用输入)
    

    q quit without saving changes 注:不保存退出;
    ②完成上述命令之后,进行格式化分区  
    reboot 
    mkfs.ext3 /dev/sda3
    ③添加新LVM组到已有的LVM组,实现扩容
    我自己的是centos,以下所有涉及到cl的都输入centos

    lvm    进入lvm管理
    lvm>pvcreate /dev/sda3   这是初始化刚才的分区,必须的
    lvm>vgextend cl /dev/sda3  将初始化过的分区加入到虚拟卷组centos ,对Volume group进行修改
          (卷和卷组的命令可以通过vgdisplay查看;
          不是每个虚拟机命令都是cl,这个具体要看你的虚拟机文件系统配置,如果是cl-root,可以直接使用命令,
          否则需要按照自己的文件系统进行一些修改。我自己的是centos)
    lvm>vgdisplay -v
    lvm>lvextend -l+21556 /dev/mapper/cl-root  扩展已有卷的容量,对Logical volume进行修改
          (21556 是通过vgdisplay查看的free的大小,21556以及cl请具体查看后修改)
    lvm>pvdisplay   查看卷容量Physical volumes,这时你会看到一个很大的卷了
    lvm>quit    退出
    

    ④接下来将添加的硬盘,添加至根分区(我的Logical volume中可看到LV Path为 /dev/centos/root)   lvextend -l +100%FREE /dev/cl/root
    至此卷扩容完成
    ⑤对文件系统扩容操作   xfs_growfs /dev/mapper/cl-root
    df -h 查看,虚拟机存储空间扩容成功!!!

    ------第③步的lvm设置图示
    9、分区挂载

    手动挂载  sudo mount /dev/sda4 /home/onesea/Mini2440
      假设新分区为 /dev/sda4 , 挂载点为 /home/onesea/Mini2440
    自动挂载
      若希望开机时自动挂载, 可在/etc/fstab最后一行添加:
      /dev/sda4 /home/onesea/Mini2440 ext4 defaults 0 0
    网络(局域网)存储挂载
      sudo mount -t nfs ip地址:/mnt/miniseed_backup /home/zxt/p200
      假设要将 ip地址:/mnt/miniseed_backup 挂载到 /home/zxt/p200上

    10、运行进程的显示与终止

    最常用:

    查找进程并列出信息 ps -ef | grep ispaq

    杀死进程 kill -9 PID
    查看运行的java进程 jps
    其他:
    查询所有进程 ps -A
    查看非root运行的进程 ps -U root -u root -N
    查询某个用户(如hadoop)开启的进程 ps -u hadoop

    查看运行中系统进程的动态实时视图 top (输入q退出top视图,按h进入帮助)

    显示进程的树状图 pstree
    获得线程信息 ps -eflps axms
    ps -efl ps axms
    查找进程——查找当前正在运行的进程并列出符合条件的进程ID,如显示firefox的进程IDpgrep firefox
    11、测试指令运行时间

    time能做的不仅仅是测量运行时间,还可以测量内存、I/O等的使用情况
    time命令最常用的使用方式就是在其后面直接跟上命令和参数:
    time <command> [<arguments...>]
    在命令执行完成之后就会打印出CPU的使用情况:
    real 0m5.064s <== 实际使用时间(real time)
    user 0m0.020s <== 用户态使用时间(the process spent in user mode)
    sys 0m0.040s <== 内核态使用时间(the process spent in kernel mode)
    time命令跟上-p参数可以只打印时间数值(秒数),不打印单位。
    示例:time find . -name "mysql.sh"
    time更为强大的指令/usr/bin/time:
    Usage: /usr/bin/time [-apvV] [-f format] [-o file] [--append] [--verbose] [--portability] [--format=format] [--output=file] [--version] [--help] command [arg...]
    示例:/usr/bin/time -v find . -name "mysql.sh"

    12、用户

    用户切换:
    拥有root权限——sudo
    至hadoop——su hadoop

    13、简单bash编程

    在非root用户下,f="SC.AXI. BHE.2020.122.mseed"echo $f

    14、修改文件权限

    chmod [options] mode files
    -R,--recursive可递归遍历子目录,把修改应到目录下所有文件和子目录
    对于mode多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。
    chmod u+x file     给file的属主增加执行权限
    chmod -R u+r directory   递归地给directory目录下所有文件和子目录的属主分配读的权限
    chmod 751 file     给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
    chmod u=rwx,g=rx,o=x file 上例的另一种形式

    15、linux中($a)数组

    A=(a b c def)  #定义数组
    echo ${A[@]}   #把数组按字符串显示输出,屏幕显示:a b c def
    len=${#A[*]}   #数组的长度,屏幕显示:4
    A[3]='vivian'  #改变数组元素的值
    echo ${A[*]}   #屏幕显示:a b c vivian
    我用过的:

    OLD_IFS=${IFS}
    IFS=" "
    arr=($a)
    IFS=${OLD_IFS}
    for f in ${arr[@]}
    do
    sudo chmod -R 755 ${f}
    done
    
    16、其他

    获取GitHub等网页链接上的内容:  git clone +网址   或者  wget +网址
    VI中的多行删除与复制:
      光标所在行,dd
      光标所在行以下的N行,Ndd

    相关文章

      网友评论

          本文标题:linux——基础使用

          本文链接:https://www.haomeiwen.com/subject/nsrkfltx.html