Linux学习:常用命令记录

本文主要介绍Linux一些常使用到的基本命令以及面试中较常问到的命令:

1、获取文件最前面几行
# 方式一:
head -n 10 file_name

# 方式二:
cat file_name | head -n 10

2、获取文件最后几行
# 方式一:
tail -n 10 file_name

# 方式二:
cat file_name | tail -n 50

使用 cat,tac 和 nl 命令查看文件:
cat、tac都是用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。
nl 命令,添加行号并打印,这是个比 cat -n 更专业的行号打印命令。

3、实现替换文本内容

使用sed流编辑器

  • e:多点编辑

  • <:输入文件

  • >:输出文件

# 替换文本里面的部分内容:
sed -i 's/原字符串/新字符串/' /home/1.txt
sed -i 's/原字符串/新字符串/g' /home/1.txt

# 去掉 “行首” 带“@”的首字母@
sed -i 's/^@//' file

# 特定字符串的行前插入新行
sed -i '/特定字符串/i 新行字符串' file

4、在文件中寻找某字符串
grep 'word' file_name

* : 表示当前目录所有文件,也可以是某个文件名
-r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写

5、查看服务端口号
netstat -atnulp

netstat - atulnp会显示所有端口和所有对应的程序,用grep管道可以过滤出想要的字段

-a :all,表示列出所有的连接,服务监听,Socket资料
-t :tcp,列出tcp协议的服务
-u :udp,列出udp协议的服务
-n :port number, 用端口号来显示
-l :listening,列出当前监听服务
-p :program,列出服务程序的PID

6、查看某一端口的占用情况
lsof -i:端口号
7、查看进程
ps -aux

# 查看进程占用前10
top

-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出

8、tr 命令

删除一段文本信息中的某些文字,或者将其进行转换

# 使用方式
tr [option]...SET1 [SET2]

# 删除 "hello shiyanlou" 中所有的'o','l','h'
$ echo 'hello shiyanlou' | tr -d 'olh'
# 将"hello" 中的ll,去重为一个l
$ echo 'hello' | tr -s 'l'
# 将输入文本,全部转换为大写或小写输出
$ echo 'input some text here' | tr '[:lower:]' '[:upper:]'
# 上面的'[:lower:]' '[:upper:]'你也可以简单的写作'[a-z]' '[A-Z]',当然反过来将大写变小写也是可以的

常用的选项有:

  • -d 删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配
  • -s 去除set1指定的在输入文本中连续并重复的字符
9、join命令

将两个文件中包含相同内容的那一行合并在一起

join file1 file2

常用的选项有:

  • -t 指定分隔符,默认为空格
  • -i 忽略大小写的差异
  • -1 指明第一个文件要用哪个字段来对比,默认对比第一个字段
  • -2 指明第二个文件要用哪个字段来对比,默认对比第一个字段
10、awk的用法
awk 参数 ' BEGIN{}//{action1;action2} ' END{
    
    }  文件名
# 格式化输出
awk  '{printf  "%-5s %.2d",$1,$2}'  test

printf 表示格式输出
%格式化输出分隔符
-8表示长度为8个字符
s表示字符串类型,d表示小数

11、常用文件命令
ls -l 	# 显示文件或目录
# -l	列出文件详细信息l(list)
# -a    列出当前目录下所有文件及目录,包括隐藏的a(all)

mkdir   # 创建目录
# -p     创建目录,若无父目录,则创建p(parent)

cd      # 切换目录

touch   # 创建空文件

echo    # 创建带有内容的文件。

cat     # 查看文件内容

cp      # 拷贝

mv      # 移动或重命名

rm      # 删除文件
# -r    递归删除,可删除子目录及文件
# -f    强制删除

find    # 在文件系统中搜索某文件

wc      # 统计文本中行数、字数、字符数

rmdir   # 删除空目录

tree    # 树形结构显示目录,需要安装tree包

pwd     # 显示当前目录

ln      # 创建链接文件

more
less  # 分页显示文本文件内容

head
tail    显示文件头、尾内容

猜你喜欢

转载自blog.csdn.net/qq_42908549/article/details/111993574