lhl
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
  • python

  • leetcode

  • 软件测试

  • Git

  • linux

    • 命令基础
      • 基础格式
      • 常见命令记录
    • 文本编辑
    • 监控
    • 文件与权限管理
  • 产品

  • MySql

  • docker

  • linux
2024-05-14
目录

命令基础

# 基础格式

无论是什么命令,用于什么,在 linux 中, 命令有其通用的格式: command [option(s)] [argument(s)],

[], 是可选的,

[option(s)],选项,可选, 控制命令的细节

[argument(s)], 参数,可选, 控制命令的指向目标

# 以 ls 为例, 
# -al 是 options, 多个参数可以简写在,等价于 -a -l
# /home/lv 是 参数
ls -al /home/lv
# total 136
# drwx------ 18 lv   lv   4096 May 14 14:57 .
# drwxr-xr-x  3 root root 4096 Jan 19 21:53 ..
# -rw-------  1 lv   lv   9490 Jan 27 00:11 .bash_history
# -rw-r--r--  1 lv   lv    220 Jan 19 21:53 .bash_logout
# -rw-r--r--  1 lv   lv   3525 Jan 20 15:02 .bashrc
# drwx------ 11 lv   lv   4096 Jan 19 23:09 .cache
# drwx------ 11 lv   lv   4096 Jan 19 23:53 .config
# drwxr-xr-x  2 lv   lv   4096 Jan 19 21:56 Desktop
# drwx------  3 lv   lv   4096 Jan 24 00:13 .docker
# drwxr-xr-x  2 lv   lv   4096 Jan 19 21:56 Documents
# drwxr-xr-x  2 lv   lv   4096 Jan 19 21:56 Downloads
# -rw-r--r--  1 lv   lv   5290 Jan 19 21:53 .face
# lrwxrwxrwx  1 lv   lv      5 Jan 19 21:53 .face.icon -> .face
# drwx------  4 lv   lv   4096 Jan 20 15:23 .gnupg
# -rw-------  1 lv   lv     40 May 14 14:48 .lesshst
# drwx------  4 lv   lv   4096 Jan 19 21:56 .local
# drwx------  4 lv   lv   4096 Jan 19 23:09 .mozilla
# drwxr-xr-x  2 lv   lv   4096 Jan 19 21:56 Music
# drwxr-xr-x  2 lv   lv   4096 Jan 19 21:56 Pictures
# -rw-r--r--  1 lv   lv    807 Jan 19 21:53 .profile
# drwxr-xr-x  2 lv   lv   4096 Jan 19 21:56 Public
# drwxr-xr-x  3 lv   lv   4096 Jan 24 01:22 python
# -rw-------  1 lv   lv      7 Jan 24 00:31 .python_history
# drwx------  2 lv   lv   4096 Jan 19 21:59 .ssh
# drwxr-xr-x  2 lv   lv   4096 Jan 19 21:56 Templates
# -rw-r-----  1 lv   lv      5 Jan 20 14:30 .vboxclient-clipboard-tty2-control.pid
# -rw-r-----  1 lv   lv      5 Jan 20 14:30 .vboxclient-draganddrop-tty2-control.pid
# -rw-r-----  1 lv   lv      5 Jan 20 14:30 .vboxclient-hostversion-tty2-control.pid
# -rw-r-----  1 lv   lv      5 Jan 20 14:30 .vboxclient-seamless-tty2-control.pid
# -rw-r-----  1 lv   lv      5 Jan 20 14:30 .vboxclient-vmsvga-session-tty2-control.pid
# drwxr-xr-x  2 lv   lv   4096 Jan 19 21:56 Videos
# -rw-r--r--  1 lv   lv    168 Jan 20 15:50 .wget-hsts

# 常见命令记录

# ls

ls - list directory contents, 展示目录内容

ls -a, 显示隐藏文件, linux 中隐藏文件以 . 开头

#  -a, 显示隐藏文件, linux 中隐藏文件以 . 开头
ls -a /
# .   bin   .cache  etc   initrd.img      jenkins  lib64       media  opt   root  sbin  sys  usr  vmlinuz
# ..  boot  dev     home  initrd.img.old  lib      lost+found  mnt    proc  run   srv   tmp  var  vmlinuz.old

ls -l, 列表形式展示

#  -l  列表形式展示
ls -al
# total 136
# drwx------ 18 lv   lv   4096 May 14 15:18 .
# drwxr-xr-x  3 root root 4096 Jan 19 21:53 ..
# -rw-------  1 lv   lv   9490 Jan 27 00:11 .bash_history
# -rw-r--r--  1 lv   lv    220 Jan 19 21:53 .bash_logout
# -rw-r--r--  1 lv   lv   3525 Jan 20 15:02 .bashrc
# ....

ls -lh, 人类友好方式展示目录


#  -h,  以人类友好的形式展示数据,比如 4096 会写成 4.0k,total 136K
ls -alh
# total 136K
# ...
# drwx------ 11 lv   lv   4.0K Jan 19 23:53 .config
# drwxr-xr-x  2 lv   lv   4.0K Jan 19 21:56 Desktop
# drwx------  3 lv   lv   4.0K Jan 24 00:13 .docker
# drwxr-xr-x  2 lv   lv   4.0K Jan 19 21:56 Documents
# drwxr-xr-x  2 lv   lv   4.0K Jan 19 21:56 Downloads
# -rw-r--r--  1 lv   lv   5.2K Jan 19 21:53 .face
# drwxr-xr-x  2 lv   lv   4.0K Jan 19 21:56 Videos
# ...

# mkdir

mkdir - make directories, 创建目录 mkdir test/222 -p, 如果 test 父目录不存在,创建父目录并不会报错

# -p, 如果 `test` 父目录不存在,创建父目录并不会报错
mkdir test/222 -p

# touch

创建文件, touch test.txt

# cat

查看文件, cat test.txt

# more

查看文件, more /etc/service 退出使用q, 空格进一页,pageup, pagedown 翻页

# cp

cp - copy files and directories, 复制文件和目录 cp test.txt ./test/222/ 复制目录,不能像复制一样,需要用到 选型 -r ,表示递归复制目录

#  -r,  复制目录需要使用递归复制
cp ./test ./test222 -r
ls
# Desktop  Documents  Downloads  ...  test  test222  test.txt  Videos

# mv

mv - move (rename) files, 移动或者重命名文件

mv test.txt test1.txt, 将文件 test.txt 重命名成 test1.txt mv test1.txt ./test222, 将文件 test1.txt 移动到文件夹 ./test222 mv ./test222/ ./test/, 将文件夹 ./test222/ 移动到文件夹 ./test/

# rm

rm - remove files or directories, 删除文件或目录

删除询问,每次删除都会询问是否删除

#  -i   删除询问,每次删除都会询问是否删除
rm -i test2.txt
# rm: remove regular file 'test2.txt'? n

强制删除,无需询问,忽略不存在的文件

# -f
rm -f test2.txt

递归删除目录

#  -r
rm -rf ./test/

常见笑话,跑路时,时常会说起的 rm -rf

# 通配符删除

rm 支持 通配符 *。用来模糊匹配

*,可以匹配任何以 任意内容,实例

test*, 匹配以 test 开头的内容

*test, 匹配以 test 结尾的内容

*test*, 匹配包含 test 的内容

# 创建测试文件
ll | grep .txt
# 如下
# -rw-r--r-- 1 lv lv    9 May 14 16:16 2te2st22.txt
# -rw-r--r-- 1 lv lv    0 May 14 16:18 2test22.txt
# -rw-r--r-- 1 lv lv    0 May 14 16:18 2test.txt
# -rw-r--r-- 1 lv lv    0 May 14 16:18 test1.txt
# -rw-r--r-- 1 lv lv    0 May 14 16:17 test.txt

# `test*`, 匹配以 `test` 开头的txt
 rm -rf test*
#  删掉 test test1
ll | grep .txt
# -rw-r--r-- 1 lv lv    9 May 14 16:16 2te2st22.txt
# -rw-r--r-- 1 lv lv    0 May 14 16:18 2test22.txt
# -rw-r--r-- 1 lv lv    0 May 14 16:18 2test.txt


# `test*`, 匹配以 `test` 结尾的txt
 rm -rf *test.txt
#  删掉 2test.txt
ll | grep .txt
# -rw-r--r-- 1 lv lv    9 May 14 16:16 2te2st22.txt
# -rw-r--r-- 1 lv lv    0 May 14 16:18 2test22.txt

# `test*`, 包含 `test`的txt
 rm -rf *test*
#  删掉 2test.txt
ll | grep .txt
# -rw-r--r-- 1 lv lv    9 May 14 16:16 2te2st22.txt

# which

which - locate a command, 用于定位命令的位置

# find

find, 用于搜索文件

支持两种搜索,一种是根据名称进行搜索,一种是根据 文件size 进行搜索

# 根据名称进行搜索
# find 起始路径 -name "文件名"
# 查询 test 相关的文件
find / -name test
# 同样支持通配符
find / -name test*
find / -name *test*
find / -name *test
# 根据 文件size 进行搜索
# find 起始路径 -size +|-n[kMG]
# 查找小于10KB的文件: 
find / -size -10k
# 查找大于100MB的文件:
find / -size +100M
# 查找大于1GB的文件:
find / -size +1G

# grep

grep - print lines that match patterns, 输出符合规律的行 grep [-n] 关键字 文件路径,通过关键字搜索文件行,n 是行数

cat test.txt
# itheima is a brand of itcast.
# itcast stock code is 003032.

grep "itheima" test.txt
# itheima is a brand of itcast.

# wc

wc - print newline, word, and byte counts for each file, 输出文件的行数,单词数,字节数

wc test.txt
#  2 11 59 test.txt 
#  -l, 行数
wc -l test.txt
# 2 test.txt

# -c,  byte 数
wc -c test.txt
# 59 test.txt
# -m
# 字符数
wc -m test.txt
# 59 test.txt

# -w, 单词数
wc -w test.txt
# 11 test.txt

# 管道符

管道符的含义是:将管道符左边命令的结果,作为右边命令的输入

# echo

echo - display a line of text,输出一行文字 echo "xxx" 输出 xxx 建议使用 双引号"" 避免歧义。

# 双引号符

被 ` 包围的内容,会被作为命令执行,而非普通字符

echo pwd
# pwd
echo `pwd`
# /home/lv

# 重定向符

重定向符:>和 >> >,将左侧命令的结果,覆盖写入到符号右侧指定的文件中 >>,将左侧命令的结果,追加写入到符号右侧指定的文件中

# 输出 "hello linux " 到 itheima.txt
echo "hello linux" > itheima.txt
cat itheima.txt
# 结果如下 
# hello linux


# 输出 "hello linux222" 到 itheima.txt
echo "hello linux222" > itheima.txt
cat itheima.txt
# 结果如下 , 覆盖掉 hello linux
# hello linux222


# 输出 "hello linux333" 到 itheima.txt
echo "hello linux333" >> itheima.txt
cat itheima.txt
cat itheima.txt
# 结果如下,追加写入
# hello linux222
# hello linux333

# tail

# tail [-f -num] linux文件路径
# 默认输出10行, -5 表示输出 5行
tail -5 test.txt
# 跟踪文件更新变化
tail -5f test.txt

# 文件与权限管理相关

文件与权限管理相关

# 监控相关

监控相关

#命令
Git Branch-分支
文本编辑

← Git Branch-分支 文本编辑→

最近更新
01
lhl learn notes
02
filter
06-09
03
decorator
06-09
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式