Linux

系统属性

功能 命令
操作系统(通用) lsb_release -a
内核/CPU uname -a
CPU cat /proc/cpuinfo
CPU个数 物理数:cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
单个CPU核数:cat /proc/cpuinfo| grep "cpu cores"| uniq
逻辑数:cat /proc/cpuinfo| grep "processor"| wc -l
操作系统版本 head -n 1 /etc/issue
cat /etc/redhat-release (只适合Redhat)
lsb_release -a
主机名 hostname
环境变量 env
PCI设备 lspci -tv
USB设备 lsusb -tv
内核模块 lsmod

用户与组

用户

查看

  • cat /etc/passwd

创建

  • useradd
  • useradd -g

删除

  • userdel -r

查看

  • cat /etc/group

创建

  • groupadd

变更

  • 修改用户组
    • usermod -G
  • 追加用户组
    • usermod -a -G
    • gpasswd -a
  • 删除用户
    • gpasswd -d
  • 删除用户组
    • groupdel

时间

功能 命令
当前系统时间 date
安装ntpdate程序 yum install -y ntpdate
从互联网更新系统时间 ntpdate time.windows.com
ntpdate cn.pool.ntp.org
修改系统时间 date -s "2019-08-26 11:11:11"
当前时间保存到bios hwclock -w

文件(夹)

创建

功能 命令
创建文件 touch t1.txt t2.txt (多个文件时,以空格隔开)
创建文件夹 mkdir -p par/sub

权限

chmod 变更访问权限
	chmod -R 777 dir (-R 递归处理, 777 全量权限)
	chmod a/ugo +/- rwx dir

chgrp 变更所属组
	chgrp -R group dir

chown 变更所属用户/组
chown -R user:group dir

合并文件

  • cat file1 file2 > file3 #合并1 2 为新文件3
  • cat fiel1[ file2...] >> file0 # 追加文件1[2...]到文件0后

查找文件

  1. ls *.drv
    列出.drv结尾的文件或文件夹
    ls 只支持通配符,要使用正则表达式,需搭配其他命令,如grep, sed, awk
    grep 使用正则表达式时,表达式要用""包起来
  2. ls | grep -v "dbf$"
    列出不以dbf结尾的文件
  3. grep -a 查看二进制文件内容
    image-20200929104914291

查看文件夹大小

  • du -sh *

遍历文件

#!/bin/bash
for file in `ls $1`
do
    if [ -d $1"/"$file ] 
    then
		echo "cp -r $1"/"$file/code/* ./code/"
		cp -r $1"/"$file/code/* ./code/
    fi
done

压缩

功能 命令
将所有jpg文件打包成jpg.tar tar -cvf jpg.tar *.jpg
打包成jpg.tar后,用gzip压缩 tar -czf jpg.tar.gz *.jpg
打包成jpg.tar后,用bzip2压缩 tar -cjf jpg.tar.bz2 *.jpg
打包成jpg.tar后,用compress压缩 tar -cZf jpg.tar.Z *.jpg
rar格式的压缩,需要先下载rar for linux rar a jpg.rar *.jpg
zip格式的压缩,需要先下载zip for linux zip jpg.zip *.jpg

解压

功能 命令
指定目录,确省当前目录 tar -C
解压 tar包 tar -xvf file.tar
解压tar.gz tar -xzvf file.tar.gz
解压 tar.bz2 tar -xjvf file.tar.bz2
解压tar.Z tar -xZvf file.tar.Z
解压rar unrar e file.rar
解压zip unzip file.zip
批量解压.zip find . -name '*.zip' -exec unzip -q {} ;

分割

split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名前缀]
参数说明:
1. --help : 在线帮助
2. --version : 显示版本信息
3. -<行数>/-l <行数> : 指定每多少行切成一个小文件
4. -b<字节> : 指定每多少字节切成一个小文件,也可以指定 K、M、G、T 等单位
5. -C<字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
6. [输出文件名前缀] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号

例:将文件FNDOPP909884.txt按100M大小拆分,拆分后的文件名前缀为FNDOPPONE
split -b 100m FNDOPP909884.txt FNDOPPONE

链接

功能 命令
硬链接 ln src tar
软连接(需用绝对路径) ln -s src tar

分区扩容

建虚拟机时,根目录只给了10G,后来不够用,故进行了一次扩容

  1. 虚拟机磁盘设置,给足需要的空间大小

  2. 打开虚拟机,查看新的磁盘空间(fdisk -l ):
    image-20200929103602121
    /dev/sda3是下述步骤创建出的新分区

  3. df -h 查看到 /dev/mapper/ol-root 只有9.8G
    image-20200929103707853

  4. 增加分区 fdisk /dev/sda
    image-20200929103747601
    image-20200929103806097

  5. 重启reboot

  6. 创建物理卷(physical volumn):
    pvcreate /dev/sda3 (步骤4创建的分区名)

    然后查看
    pvdisplay
    image-20200929103939267

  7. 将新加的物理卷, 加载到卷组(volumn group):
    vgextend ol /dev/sda3
    然后查看
    vgdisplay
    image-20200929104120713

  8. 增加根目录大小,并重新识别:

    lvresize -L +200G /dev/mapper/ol-root (增加200G);(或者指定扩展数 lvresize -l +1279 /dev/mapper/cl-root)

    resize2fs /dev/mapper/ol-root (重新识别)

    (xfs文件系统的重新识别用命令 xfs_growfs /dev/mapper/ol-root)

    (文件系统类型查看用 df -T)

    然后再查看磁盘空间 df -h
    image-20200929104200584

增加虚拟内存

$ cd /tmp
$ dd if=/dev/zero of=eswap bs=1M count=5120
$ mkswap eswap
$ chmod 600 eswap
$ swapon eswap
$ vim /etc/fstab
	/tmp/eswap swap            swap     defaults    0 0

命令转后台执行

下面的方法可以将前台进程转入后台运行,并指定这个任务不被发送SIGHUP信号:

  1. ctrl+z将任务暂停,这时屏幕会打印这样一句“[1]+ Stopped ./myserver”
  2. 使用"bg 1"将这个任务转入后台运行(1是刚才暂停任务的job号,步骤1中屏幕提示方括号里面的内容,如果忘了也可以用jobs命令查看)
  3. 使用"disown –h %1"指定shell退出时不要发送SIGHUP给任务1(注意任务号前面有个%)

其他常用命令

ping指定网卡

配置终端快捷键

  • /usr/bin/gnome-terminal

安装JDK

  1. CentOS8上使用 yum 直接安装,环境变量自动配置好

  2. 查看是否已安装
    看到下面结果,说明已经安装配置 jdk

    [root@localhost ~]# java -version
    openjdk version "1.8.0_222"
    OpenJDK Runtime Environment (build 1.8.0_222-b10)
    OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
    
  3. 卸载
    查看系统是否自带 jdk

    $ rpm -qa |grep java
    $ rpm -qa |grep jdk
    $ rpm -qa |grep gcj
    

    如果有输出信息,批量卸载系统自带:

    • rpm -qa | grep java | xargs rpm -e --nodeps

    如果使用 yum 安装的 jdk,请使用下面命令卸载

    • yum -y remove java-1.8.0-openjdk-headless.x86_64
  4. 安装

    • 检查 yum 中有没有 java1.8 包
      yum list java-1.8*
    • 安装:
      yum install java-1.8.0-openjdk* -y
  5. 验证
    同步骤2

  6. 查看安装路径
    which java
    image-20200929110156025
    ls -lrt /usr/bin/java
    image-20200929110225498

Solaris

查看版本

$ uname -a
	SunOS housva441 5.11 11.3 sun4v sparc sun4v

$ cat /etc/release
  Oracle Solaris 11.3 SPARC
  Copyright (c) 1983, 2018, Oracle and/or its affiliates.  All rights reserved.
  Assembled 09 May 2018

查看位数

$ isainfo -v
	#如果是运行在32位模式下, 则有如下输出:
		32-bit sparc applications
	#如果是运行在64位模式下, 则有如下输出:
		64-bit sparcv9 applications
		32-bit sparc applications

启停ssh

svcs | grep ssh
svcadm disable 
svcadm enable

用户

#有时用户密码重置依然无效,可能是用户被锁了
#查看用户状态:
$ sudo passwd -s xtong
xtong     LK    09/27/21          91        
# PS:表示用户密码已设置。
# NL:表示用户帐号是不可登录帐号。
# LK:表示用户已被锁定。
# NP:表示用户没有密码,登录时不需要密码认证。

# 解锁
$ sudo passwd -u xtong
passwd: password information changed for xtong

$ sudo passwd -s xtong
xtong     PS    09/27/21          91   

expect

Install in Solaris 10
  1. Download the expect and tcl packages

    expect - sourceforge - Download

    tcl - tcslsite - Download

  2. Unzip the gz files

    gzip -d expect5.45.3.tar.gz

    gzip -d tcl8.6.8-src.tar.gz

  3. Extract the tar files
    tar -xvf tcl8.6.8-src.tar
    tar -xvf expect5.45.3.tar

  4. add /usr/sfw/bin, /usr/local/bin and /usr/ccs/bin to $PATH, and export it

  5. Set the CC environment variable to the value gcc and export it

  6. Configure and Installing Tcl binary, cd to the extracted directory and into the directory name unix
    cd /var/tmp/tcl8.6.8/unix
    ./configure
    make
    make test # To check that the build is worked
    make install # Install the Tcl package in place, Installed command will be available under /usr/local/bin/tclsh8.4

  7. Configure and Installing expect binary, cd to the extracted directory

    cd /var/tmp/expect5.45.3
    ./configure
    make expect # Does the build.
    make install # Install the expect package, The command is under /usr/local/bin/expect

  8. Verify the command availability
    which expect
    /usr/local/bin/expect

Usage
expect <<EOL
spawn sftp -oport=22 $SFTP_ACCOUNT@$SFTP_HOST_NAME
expect -nocase "password:"
send "$PASSWORD\n"
expect "sftp>"
send "lcd $INTERNAL_DIRECTORY\n"
expect "sftp>"
send "cd $SFTP_DIRECTORY\n"
expect "sftp>"
send "mget ${FILE_NAME}*\n"
expect "sftp>"
send "bye\n"
EOL

expect <<EOL
spawn sftp -oport=22 ebs@azlsftptest001.dover-global.net
expect -nocase "password:"
send "Dover@2021!\n"
expect "sftp>"
send "pwd\n"
expect "sftp>"
send "bye\n"
EOL
posted @ 2022-12-29 22:14  水木夏  阅读(52)  评论(0编辑  收藏  举报