01Linux-常用命令(重要)

  • Post author:
  • Post category:linux




linux



1、常用命令



ll

#显示文件的创建时间
[root@centos02 wy]# ls -l --time-style=long-iso
#文件按时间倒序排序
[root@localhost ~]# ll -lt
#查看目录
[root@localhost ~]# ll -d 



花括号 {}

在Shell脚本中,`{
    }`(花括号)有多种用途,下面介绍几个常见的用法:

1. 命令组合:`{
    }`可以用于将多个命令组合在一起,并作为一个整体进行处理。例如,可以使用`{
    }`将多个命令放在一起,并使用分号或换行符进行分隔:

```shell
{
    
    command1
    command2
    command3
}


在上面的示例中,`command1``command2``command3`将作为一个整体来执行。

2. 数组元素引用:`{
   }`可以用于引用数组中的元素。例如,`${array[1]}`表示数组`array`的第2个元素。

3. 字符串替换:`{
   }`可以用于字符串替换操作。例如,`${var/foo/bar}`表示将字符串`var`中的第一个匹配到的`foo`替换为`bar`4. 参数扩展:`{
   }`可以用于参数扩展,用于获取变量的一部分。例如,`${var:1:3}`表示获取变量`var`的第2个到第4个字符。

5. 范围扩展:`{
   }`可以用于生成数字范围。例如,`{
   1..5}`表示生成从1到5的数字序列。

6. Brace扩展:`{
   }`可以用于生成多个类似的字符串。例如,`file{
   1..3}.txt`表示生成`file1.txt``file2.txt``file3.txt`。

需要注意的是,`{
   }`在Shell中是有特殊含义的,所以在使用时需要注意转义或引用。如果要使用普通的花括号字符,可以使用转义字符`\`进行转义。

总的来说,`{
   }`在Shell脚本中具有多种用法,可以用于命令组合、数组引用、字符串替换、参数扩展、范围扩展等操作,可以帮助实现更灵活和复杂的脚本逻辑。



运行级别

	运行级别:  0关机
				1单用户
				2多用户状态没有网络服务
				3多用户状态有网络服务
				4系统未使用保留给用户
				5图形界面
				6系统重启
		常用级别:3/5,要修改默认的运行级别可改文件 /etc/inittab的id:5:initdefault:这一行的数字
		设置级别是6的话,如何修改:   
		    1、  init  3  //命令行
			2、  init  5  //图形化
			3、  init  0  //关机 
		   在/etc/inittab中将id:5改成id:3。开机直接进入命令行模式

在这里插入图片描述

在这里插入图片描述



ps

#显示所有进程信息
ps -A
#显示指定用户信息
ps -u root 
ps -u yiibai
#显示所有进程信息,连同命令行
ps -ef
#ps 与grep 常用组合用法,查找特定进程
ps -ef|grep ssh
#列出目前所有的正在内存当中的程序
ps aux
#显示当前终端的所有进程信息
ps -a
#以用户的格式显示进程信息
ps -u
#显示后台进程运行的参数
ps -x 

在这里插入图片描述

在这里插入图片描述



top

如果想要动态的显示进程信息,就可以使用top命令
默认情况下,它会显示运行在服务器上最占用CPU的任务,并每3s更新列表
标识符(PID)、内存使用(%MEM)、优先级(PR)、命令名称(COMMAND)等
top - 23:54:07 up  6:35,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 121 total,   1 running, 119 sleeping,   0 stopped,   1 zombie
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1862792 total,   845864 free,   753080 used,   263848 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   949564 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                               
  1452 root      20   0 1104804  39760   7388 S   0.7  2.1   0:22.18 BT-Task                                                               
  1327 mysql     20   0 1569768 530496   9800 S   0.3 28.5   0:32.67 mysqld                                                                
     1 root      20   0  191040   4032   2584 S   0.0  0.2   0:01.14 systemd                                                               
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd                                                              
     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                          
     5 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kworker/u256:0                                                        
     6 root      20   0       0      0      0 S   0.0  0.0   0:00.08 ksoftirqd/0                                                           
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 migration/0                                                           
     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                                
     9 root      20   0       0      0      0 S   0.0  0.0   0:11.11 rcu_sched                                                             
    10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain                                                         
    11 root      rt   0       0      0      0 S   0.0  0.0   0:00.19 watchdog/0      




| up | 系统已开机多长时间 |
| top  | 系统当前时间 |
| user  | 当前用户数 |
| load average cpu |  平均负载,三个数值分别为,1分钟,5分钟,15分钟 
					  1、按1之后,显示1个CPU
					  2、只要load average 没有超过  cpu个数*1.00  说明系统是健康的
                      3、单核是1.00  双核是2.00 |
                      
| Tasks  |  当前进程数total:总进程running:正在运行sleeping:睡眠stopped:停止进程zombie:僵尸|
| Mem  | 内存使用信息total:总内存free:空闲的内存used:已使用的内存buff/cache:缓存的内存大小 |
| Swap | 虚拟内存信息 |
| PID | 进程id |
| USER | 进程所有者 |
| PR | 优先级 |
|RES   | 进程使用的物理内存大小 |
| SHR  | 共享内存大小 |
| S | 进程状态,D:不可中断的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程 |
| %CPU  | 进程使用的CPU占用百分比 |
| %MEM | 进程使用的物理内存百分比 |
|TIME+  | 进程使用的CPU时间总计 |
| COMMAND |  命令名|

shift+N – 以 PID 的大小的顺序排列表示进程列表
shift+P – 以 CPU 占用率大小的顺序排列进程列表
shift+M – 以内存占用率大小的顺序排列进程列表
1   输入1 按多核模式展示

#指定top命令每隔几秒更新,默认是3s可以执行的命令
[root@localhost ~]# top -d 0.1
#不显示任何闲置或僵死进程
[root@localhost ~]# top -d 0.1 -i

#-p指定进程号
[root@localhost ~]# top  -d 0.1 -p 323
#监听特定用户
先执行top之后,输入u之后,输入用户名,即可监控特定的用户

#查找僵尸进程
[root@localhost ~]# ps aux | grep 'Z'


在这里插入图片描述

在这里插入图片描述



cd

#进入根目录
[root@localhost ~]#cd  /  
#回到家目录
[root@localhost ~]#cd  ~
#返回进入此目录之前所在的目录  
[root@localhost ~]#cd -



column

`column`是一个用于格式化文本列的命令,可以在Shell脚本中使用。它可以将文本按照指定的列数进行格式化,并可以指定分隔符和对齐方式。

`column`命令的基本语法如下:

```shell
column [选项] [文件]

其中,

选项

可以是以下之一:


  • -t

    :根据空格或制表符进行分隔,并将文本格式化为表格。

  • -s


    分隔符

    :使用指定的分隔符进行分隔。

  • -o


    输出分隔符

    :指定输出时使用的分隔符。

  • -n


    列数

    :指定输出的列数。

  • -c


    列宽

    :指定每列的宽度。

  • -x

    :使用多个空格作为分隔符。

  • -R

    :右对齐文本。

  • -C

    :居中对齐文本。


文件

表示要进行格式化的文本文件。

以下是一些使用

column

命令的示例:

  1. 格式化文本为表格形式:
column -t file.txt
  1. 使用制表符作为分隔符进行格式化:
column -s $'\t' file.txt
  1. 指定输出分隔符为逗号:
column -o ',' file.txt
  1. 指定输出的列数为3:
column -n 3 file.txt
  1. 指定每列的宽度为10个字符:
column -c 10 file.txt
  1. 右对齐文本:
column -R file.txt
  1. 居中对齐文本:
column -C file.txt


在上面的示例中,`column`命令会根据指定的选项对文本进行格式化,并将结果输出到标准输出。可以将输出重定向到文件中,以便进一步处理或保存结果。

`column`命令在处理表格数据、对齐文本等场景中非常有用。它可以帮助提高文本的可读性和可视化效果。



echo

#不换行输出
echo -n 
#解析字符串中特殊符号
[root@localhost ~]# echo -e "\n  123 \n   456"
#输出今天的时间
echo "`date`"
#输出系统语言
echo $LANG



expect

`expect`是一个用于自动化交互式任务的工具,它可以在Shell脚本中使用。`expect`脚本可以模拟用户与命令行程序之间的交互,实现自动化的任务执行。

以下是一个使用`expect`的Shell脚本示例:

```shell
#!/usr/bin/expect

# 设置超时时间
set timeout 10

# 运行命令
spawn ssh user@host

# 匹配并发送密码
expect "password:"
send "password123\r"

# 匹配特定的输出并做出相应的响应
expect {
    
    "Permission denied" {
    
        puts "登录失败"
        exit 1
    }
    "Last login" 



版权声明:本文为weixin_42682872原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。