linux常用命令

查看服务的位置的命令

whereis
命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。

1
2
3
root@d23096201e11:/# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql

wc

wc -l 是用来查看文件的newline的数量的。

awk

awk 分割输出
每行按空格或TAB分割,输出文本中的1、4项
awk ‘{print $1,$4}’ log.txt

1
2
编写一个shell脚本以输出一个文本文件nowcoder.txt中的行数
wc -l ./nowcoder.txt | awk '{print $1}'

tail
输出文件末尾行内容
tail nowcoder.txt -n 5

for

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

实现一:依次输出训练list中的内容 【list内容可以是数字也可以是串】
for item in 1 4 5 hello world
do
echo $item
done
运行结果:
1
4
6
hello
world


实现二:依次输出一个范围内的值,如下为输出1到5的值
for item in {1..5}
do
echo $item
done
运行结果:
1
2
3
4
5

实现三: 设置输出的间隔值,如下为间隔2输出【也就是输出10以内的所有奇数】
for item in {1..10..2}
do
echo $item
done
运行结果:
1
3
5
7
9

实现四: 输出当前目录下所有的文件和文件夹
for file in $(ls)
do
echo $file
done

for file in *
do
echo $file
done


#!/bin/bash

for item in {0..500..7}
do
echo $item
done

seq
seq 0 7 500
seq命令用于输出 连续的数字、 固件间隔的数字、指定格式的数字; 具体示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
一、输出连续的数字
seq 1 100
表示: 输出所有1到100之间的数字;

二、输出固定间隔的数字
seq 0 7 500
表示: 输出所有 0到500内 7个倍数;

三、输出指定格式的数字
1、【-s 用于使用指定的字符串分割数字】
seq -s "+" 1 100
表示:输出1到100之间的数字,每个数字间由+号间隔;

2、【-f 使用print 样式的浮点格式输出,默认使用 %g 】
seq -f "file%g" 1 10
表示:输出给是为: file1 到 file10 ; 如下:
file1
file2
file3
file4
file5
file6
file7
file8
file9
file10

head & tail
得到第五行结果
head nowcoder.txt -n 5 | tail -n 1

或者使用sed

sed
得到第五行结果
sed -n 5p

清空文件内容
:%d

ssh

ssh 连接Linux

常规命令应该是:

1
ssh root@192.168.1.100

C:\Windows\System32\drivers\etc配置个主机名之后

1
ssh root@xiamu

短了一点, 但是还不够短

C:\Users\肉豆蔻吖\.ssh\config编辑

1
2
3
Host xiamu
HostName xiamu
User root

就变成了

1
ssh xiamu

但好像每次还得输入一次密码

配置免密, 输入如下命令敲三次回车

1
ssh-keygen -t rsa

找到~/.ssh/id_rsa.pub路径拷贝到linux上~/.ssh/authorized_keys
理论上应该是使用如下命令:

1
2
3
C:\WINDOWS\system32>ssh-copy-id root@xiamu
'ssh-copy-id' is not recognized as an internal or external command,
operable program or batch file.

但windows貌似没有这个命令, 用scp试试

1
2
3
# 前提是linux要先执行过如下命令, 否则没有authorized_keys这个目录
# ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub root@xiamu:~/.ssh/authorized_keys

windows的~目录有问题, 自己想办法拷贝过去

再次输入, 直接免密

1
ssh xiamu

现在看起来好像还是很复杂, 因为每次都需要敲9个字符

貌似可以使用alias取个别名?? windows取别名好像有点小麻烦了, 懒得折腾了

https://learn.microsoft.com/zh-cn/powershell/scripting/learn/shell/using-aliases?view=powershell-7.4

https://segmentfault.com/a/1190000015928399


linux常用命令
https://xiamu.icu/Java/linux常用命令/
作者
肉豆蔻吖
发布于
2023年3月5日
许可协议