linux常用命令
-
linux
-
-
1、常用命令
-
-
ll
-
花括号 {}
-
运行级别
-
ps
-
top
-
cd
-
column
-
echo
-
expect
-
mkdir
-
mv
-
mkdir
-
more
-
cat
-
cut
-
head
-
cat
-
dd
-
tail
-
cp
-
chown
-
crontab
-
rm
-
touch
-
stat
-
sftp
-
read
-
df和du
-
date
-
diff
-
cpm
-
comm
-
uniq
-
seq
-
sort
-
split
-
free
-
file
-
find
-
exec
-
grep
-
awk
-
sed
-
paste
-
tr
-
type
-
time
-
vmstat
-
wc
-
wait
-
netstat
-
history
-
xargs
-
chkconfig
-
yum
-
rpm
-
用户和用户组
-
关机重启
-
开机端口
-
uptime 开机时间
-
压缩和解压操作
-
组管理
-
修改文件所有者
-
系统信息
-
tee
-
网络ip
-
chmod
-
rsync文件传输
-
scp文件传输
-
-
2、vi 和vim
-
3、shell
-
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
命令的示例:
- 格式化文本为表格形式:
column -t file.txt
- 使用制表符作为分隔符进行格式化:
column -s $'\t' file.txt
- 指定输出分隔符为逗号:
column -o ',' file.txt
- 指定输出的列数为3:
column -n 3 file.txt
- 指定每列的宽度为10个字符:
column -c 10 file.txt
- 右对齐文本:
column -R file.txt
- 居中对齐文本:
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 版权协议,转载请附上原文出处链接和本声明。