Linuxコマンド学習記録メモ

Linuxの説明書

Linux 入門コマンド

1. ディレクトリを作成する
mkdir myqxin   	// 创建一个名为myqxin的目录
2.空のファイルを作成する
touch myqxin.txt	// 创建一个名为myqxin的txt文件
3. パスの選択
cd /home/myqxin/	// 指定进入/home/myqxin目录下
cd ..	// 返回上一级目录
cd -	// 返回上一次进入的目录位置
cd ~	// 返回家目录
4. ファイルを削除する
rm myqxin.txt	// 删除名为myqxin的txt文件
5. ディレクトリを削除する
rmdir myqxin	// 删除名为myqxin的目录(目录下没有文件)
rm -d myqxin	// 删除名为myqxin的目录(目录下没有文件)
rm -rf myqxin   // 删除名为myqxin的目录包含目录下的所有文件
6. ディレクトリとファイルをコピーする
# -r 参数是复制目录,复制文件不需要加-r
cp -r myqxin zfwy	// 复制myqxin目录为zfwy
cp myqxin.txt zfwy.txt	// 复制myqxin.txt文件为zfwy.txt
7. ディレクトリとファイルを移動または名前変更する
mv myqxin test		// 移动myqxin目录到test目录,将当前目录移动到当前目录,就相当于重新命令
mv myqxin.txt zfwy.txt		// 移动myqxin.txt文件到zfwy.txt文件,将当前目录文件移动到当前目录文件,就相当于重新命令
8. ファイルの内容全体を表示します。
cat /home/myqxin.txt	// 查看/home目录下的myqxin.txt文件内容
cat -n /home/myqxin.txt		// 查看/home目录下的myqxin.txt文件内容,并标注了行号
9. ファイルの内容の一部を表示する
head /home/myqxin.txt		// 查看/home目录下的myqxin.txt文件,head默认展示前十行内容
head -n 22	/home/myqxin.txt		// 查看/home目录下的myqxin.txt文件前22行内容,-n 用来指定显示多少行内容
tail /home/myqxin.txt		// 查看/home目录下的myqxin.txt文件,head默认展示后十行内容
tail -n 22	/home/myqxin.txt		// 查看/home目录下的myqxin.txt文件后22行内容,-n 用来指定显示多少行内容
tail -f /home/myqxin.txt	// 查看/home目录下的myqxin.txt文件后10行内容,-f 参数会实时更新,动态查看
10. vi を使用してファイルの内容を編集する
vi myqxin.txt	// 打开myqxin.txt文件,按a或者i进入编辑状态
# 退出编辑状态,按Esc,然后输入
:q(退出不保存本次编辑内容)
:wq(退出并保存本次编辑内容)
:q!(强制退出不保存本次编辑内容)
:wq!(强制保存并退出本次编辑内容)
11. ファイルの検索
# find 搜索范围 选项 目标文件
find /etc/ -name myqxin.txt		// 查找/etc/目录下的名为myqxin.txt文件
# find 目录 -user 指定用户名
find /etc -user root
# find 目录 -size 文件大小
find /etc -size 1M
# -name、-user、-size组合使用
find /etc/ -name myqxin.txt -size 1M	// 查找/etc/目录下的名为myqxin.txt文件并且文件大小为1M
12. ショートカットを作成する
# ln -s 源文件或目录 软连接名
ln -s /usr /home/myqxin/myusr	// 在/home/myqxin/目录下创建一个软连接myusr连接到/usr目录
# 创建软连接,如果源文件或目录被删掉,快捷方式无法使用
-s 创建软连接必须加上(目录必须加,如果是文件不加-s参数就相当于复制并不能称为软连接)
13. ファイルを圧縮する
# gzip只能将文件压缩成*.gz格式
gzip myqxin.txt	// 将myqxin.txt文件压缩成myqxin.txt.gz压缩文件

tar -zcvf myqxin.tar myqxin.txt		// 将myqxin.txt文件压缩成myqxin.tar压缩文件
tar -zcvf myqxin.tar.gz myqxin.txt		// 将myqxin.txt文件压缩成myqxin.tar.gz压缩文件
14. ファイルを解凍する
gunzip myqxin.txt.gz	// 将myqxin.txt.gz文件解压成myqxin.txt文件

tar -zxvf myqx.tar		// 将myqxin.tar文件进行解压
tar -zxvf myqxin.tar.gz		// 将myqxin.tar.gz文件进行解压
15. 効率を上げるためのヒント
# table键:补全命令和补全文件的功能
table
# history:查看已经执行过的命令
history
# 上下键:返回上一次距离最近命令(通常是先进行了上键,才能配合下键使用)
↑ ↓

Linux の高度なコマンド

1. 新しいユーザーを追加する
# useradd 用户名
# sudo 临时获取管理员权限,如果是root用户来创建用户就不需要加这个
sudo useradd myqxin		// 新增一个名为myqxin的用户,并且会在/home/目录下生成一个跟用户名相同的目录(默认是在/home/下生成)
sudo useradd myqxin -d /home/zfwy/myqxin		// 新增一个名为myqxin的用户,并且会在/home/zfwy/目录下生成一个跟用户名相同的目录
2. ユーザーのパスワードを設定します
# sudo 临时获取管理员权限,如果是root用户来设置用户密码就不需要加这个
sudo passwd myqxin		// 为myqxin用户设置密码(如果passwd后面不指定用户,默认会为当前登录用户设置密码)

次に、システムはパスワードを設定し、パスワードを確認するように求めるプロンプトを表示し、成功すると次のプロンプトが表示されます。

passwd: all authentication tokens updated successfully.
3. ユーザーを切り替える
su - myqxin		// 切换到myqxin用户(如果提示输入密码,输入即可)
# 查看当前登录的用户
whoami
# 退出当前用户
exit
4. ユーザーの削除
# -r 表示在删除用户的同时删除用户的家目录
sudo userdel -r myqxin		// 删除用户名为myqxin并且删除它的目录
sudo userdel myqxin		// 删除用户名为myqxin,不删除它的目录

ユーザー基本情報:/etc/passwdファイルに格納
ユーザーパスワード情報:/etc/shadowファイルに格納
ユーザーグループ基本情報:/etc/groupファイルに格納
ユーザーグループ情報:/etc/gshadowファイルに格納、
ホーム ディレクトリはデフォルトで /home/username にあります。

5. ユーザーUIDとGIDを表示する
# id 不指定用户名,会显示当前登录用户的信息
id root		// 查看root用户的UID和GID
#能看到uid(用户ID)、gid(初始组ID), groups是用户所在组,这里既可以看到初始组,如果有附加组,则也能看到附加组
uid=0(root) gid=0(root) groups=0(root)
6. 新しいユーザーグループを追加する
sudo groupadd myqxin	// 新增用户组myqxin
# 查看用户组信息
cat /etc/group
7. ユーザーグループの削除
sudo groupdel myqxin	// 删除用户组myqxin
8. ユーザーグループへのユーザーの追加または削除
# -a 将用户加入到用户组中
sudo gpasswd -a myqxin zfwy		// 将用户myqxin加入到zfwy用户组
# -d 将用户从用户组中移出
sudo gpasswd -d myqxin zfwy		// 将用户myqxin从zfwy用户组移出
9. ファイル権限の基本的な概要
# 查看文件权限
ls -l
drwxr-xr-x 2 csdn csdn 4096 83  2021 Code

ここに画像の説明を挿入します
ファイル タイプとアクセス許可については、ファイル タイプとしてマークされた最初のパラメータを除き、グループ内に 3 つのパラメータがあります (リンクと後続のコンテンツを除く)。例: rwx はグループ、rx はグループ、rx
はグループ

ここに画像の説明を挿入します

10. ファイル権限を変更する
# chomd 修改权限,加三个参数,每个参数最高为7,最低为1
chmod 777 myqxin	// 将myqxin目录设置为最高级别权限(拥有者,所属用户组,其他用户都是顶级)
# 读取权限用数字4表示,写权限用数字2表示,执行权限用数字1表示
r=4 w=2 x=1
# 给读写执行权限
rwx=4+2+1=7
# 给读写权限
rw=4+2=6
# 给读执行权限
rx=4+1=5
# 给写执行权限
wx=2+1=3


#思路:drwxr-xr-x 2 csdn csdn 4096 8月   3  2021 Code
#1.所有者权限不变。数值相加为7
#2.组权限不变。数值相加为5
#3.其它所有者权限要变更,数值相加为5
#4,前面说过文件类型和权限那一块,三个参数为一组,每一组相加最高为7,所有说我们最高的权限为777  rwxrwxrwx
结果:755

デモンストレーション効果: これにより変更されるのは所有者の権限だけであり、ユーザー グループやその他のユーザーの権限は変更されません。

ここに画像の説明を挿入します

11. ファイル所有者の変更
# chown 用户名 目录或文件名
sudo chown myqxin /home/myqxin.txt		// 修改myqxin.txt文件所有者为myqxin
sudo chown -R myqxin /home/myqxin		// 修改myqxin目录及该目录下所有文件的所有者为myqxin(仅修改目录不需要加-R)
12. ファイルが属するユーザーグループを変更します
# chgrp 用户名 目录或文件名
sudo chgrp myqxin /home/myqxin.txt		// 修改myqxin.txt文件所属用户组为myqxin
sudo chgrp -R myqxin /home/myqxin		// 修改myqxin目录及该目录下所有文件的所属用户组为myqxin(仅修改目录不需要加-R)
13. システム内のすべてのプロセスを表示する
# aux参数的含义  
# a 显示现行终端机下的所有程序,包括其他用户的程序
# u 以用户为主的格式来显示程序状况
# x 显示所有程序,不以终端机来区分
ps aux
USER   PID %CPU %MEM  VSZ   RSS   TTY   STAT START  TIME COMMAND
csdn    1  0.0  0.1  40352  5040 pts/0  Ss+  22:09  0:00 /bin/zsh
ロゴ 意味
ユーザー このプロセスを作成したユーザーは誰ですか?
PID プロセスID
%CPU このプロセスによって占有される CPU リソースの割合は、占有率が高くなります。このプロセスはより多くのリソースを消費します
-%MEM- このプロセスによって占有される物理メモリの割合。占有率が高くなるほど。このプロセスはより多くのリソースを消費します
VSZ このプロセスによって占有される仮想メモリのサイズ (KB 単位)
RSS プロセスが占有する実際の物理メモリ サイズ (KB 単位)
TTY プロセスが実行されている端末。このうち、tty1 ~ tty7 はローカル コンソール ターミナルを表します (alt+F1 ~ F7 ショートカット キーを使用して別のターミナルに切り替えることができます)。tty1 tty6 はローカル文字インターフェイス端末、tty7 はグラフィカル端末です。pts/0 255 は仮想端末を表し、通常はリモート接続端末です。最初のリモート接続は pts/0 を占め、2 番目のリモート接続は pts/1 を占め、順番に増加します。
ステータス プロセスステータス
始める プロセスの開始時刻
時間 このプロセスは CPU の計算時間を占有しますが、システム時間ではないことに注意してください。
指示 このプロセスを生成したコマンド名
14. プログラム動作のリアルタイム監視
# 默认每隔3秒刷新一次
top

# ? 或 h:显示交互模式的帮助
# P:按照 CPU 的使用率排序,默认就是此选项
# M:按照内存的使用率排序
# N:按照 PID 排序
# T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序
# k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号
# r:按照 PID 给某个进程重设优先级(Nice)值
# q:退出 top 命令

ここに画像の説明を挿入します

赤枠部分:システム全体のリソース使用状況を表示します。この出力を利用してサーバのリソース使用状況を判断します。黄色枠部分:
システム内のプロセスの情報を表示します。

ここに画像の説明を挿入します

最初の行はタスク キュー情報です。

コンテンツ 説明する
16:51:31 システムの現在時刻
9分まで システム稼働時間、このマシンは 9 分間稼働しています
0 ユーザー 現在ログインしているユーザーは 0 人です
平均負荷:0.08、0.04、0.00 過去 1 分、5 分、15 分間のシステムの平均負荷

プロセス情報の 2 行目:

コンテンツ 説明する
タスク: 合計 4 つ システム内のプロセスの総数
1 実行中 実行中のプロセスの数
3 睡眠 スリープ中のプロセスの数
0 停止しました 停止中のプロセスの数
0 ゾンビ ゾンビプロセスの数。0 でない場合は、ゾンビ プロセスを手動で確認する必要があります。

CPU 情報の 3 行目:

コンテンツ 説明する
%Cpu(s): 0.5 us ユーザーモードが占めるCPUの割合
0.5と システムモードが占めるCPUの割合
0.0です 優先順位が変更されたユーザープロセスによって占有されている CPU の割合
99.0ID アイドル状態の CPU が占める CPU の割合
0.0の 入出力を待機しているプロセスによって占有されている CPU の割合
0.0こんにちは ハード割り込み要求サービスが占める CPU の割合
0.0と Softirq 要求サービスが占有する CPU の割合
0.0st st (スチールタイム) は仮想時間の割合を意味します

第四行为物理内存信息:

内容 说明
Mem : 4301840 total 物理内存的总量,单位为KB
4054420 free 已经使用的物理内存数量
119156 user 空闲的物理内存数量。我们使用的是虚拟机,总共分配了628MB内存,所以只有119MB的空闲内存
128264 buff/cache 作为缓冲的内存数量

第五行为交互分区(swap)信息:

内容 说明
Swap: 0 total 交换分区(虚拟内存)的总大小
0 free 已经使用的交换分区的大小
0 user 空闲交换分区的大小
4115616 avail Mem 作为缓存的交换分区的大小

第六行为系统进程资源具体使用情况(默认按照CPU的占用量排序):

内容 说明
PID 进程ID,我们杀掉某个进程就可以使用kill -9 PID
USER 进程所有者的用户名
PR 优先级
NI nice值(负值表示高优先级,正值表示低优先级)
VIRT 进程使用的虚拟内存总量(KB)
RES 进程使用的未被换出的物理内存大小(KB)
SHR 共享内存大小(KB)
S 进程状态
%CPU 进程上次更新到现在的CPU时间占用百分比
%MEM 物理内存占比
TIME+ 进程使用的CPU时间总计(单位1/100秒)
COMMAND 命令名
15,定时任务
# 1,编辑 crontab 文件
sudo crontab -e
# 2,写入执行命令并保存
*/1 * * * * /bin/echo "myqxin" >> /home/myqxin/test.txt	// 向/home/myqxin/目录下的test.txt文件每隔一分钟写入myqxin内容
# 3,使用tail命令验证
tail -f /home/myqxin/test.txt

查看任务列表

crontab -l

查看任务状态

crontab status

Linux实用命令

1,grep命令
  • 使用grep来查找文本内容:
# 查找文件myqxin.txt中含有"hello"字符串的行
grep hell myqxin.txt
# 查找文件myqxin.txt中没有"hello"字符串的行
grep -v hello myqxin.txt
# 查找文件myqxin.txt中含有“hello”字符串的行以及它前面的3行
grep -v hello -B 3 myqxin.txt
# 查找文件myqxin.txt中含有“hello”字符串的行以及它后面的3行
grep -v hello -A 3 myqxin.txt
# 查找文件myqxin.txt中含有“hello”字符串的行以及它前后的3行
grep -v hello -C 3 myqxin.txt
2,awk命令
  • 使用awk来过滤文本:

awk ‘BEGIN{ commands } pattern{ commands } END { commands }’ file’

BEGIN{ commands } 指定最开始执行的脚本
pattern{ commands } 对文件的每一行遍历,判断是否满足pattern的模式,如果满足则执行脚本
END{ commands } 指定最后执行的脚本

# 打印“开始”,打印每行,打印“结束”
awk 'BEGIN{ print "开始" }{ print } END { print "结束" }' myqxin.txt
# 打印每行的行号
awk '{print NR}' myqxin.txt
# 打印每行的文本
awk '{print $0}' myqxin.txt
# 打印每行的第一列(默认用空格分隔)
awk '{print $1}' myqxin.txt
# 打印每行的最后一列(默认用空格分隔)
awk '{print $NF}' myqxin.txt
# 打印每行的倒数第二列(默认用空格分隔)
awk '{print $(NF-1)}' myqxin.txt
# 打印每行,并为每行带上行号
awk '{print NR":",$0}' myqxin.txt
3,sed命令
  • 使用sed命令来替换或删除文本行
# 查找并替换每行第一个“hello”为“你好”
sed 's/hello/你好/' myqxin.txt 
# 查找并替换每行中所有的“hello”为“你好”
sed 's/hello/你好/g' myqxin.txt
# 删除含有“hello”的行
sed '/hello/d' myqxin.txt
# 删除第二行
sed '2d' myqxin.txt
# 删除第三行到第五行
sed '3,5d' myqxin.txt
4,losf命令
  • losf コマンドを使用すると、「ファイルが開いているプロセス」、「プロセスによって開かれたファイル」、「プロセスによって開かれた TCP または UDP ポート」、「特定の TCP または UDP ポートを占有しているプロセス」などを表示できます。最も一般的に使用されるもの以下の通り:

-a: 開いているファイルを持つプロセスを一覧表示します
。 -c <プロセス名>: 指定したプロセスによって開かれたファイルを一覧表示します。
-d <ファイル番号>: ファイル番号を占有しているプロセスを一覧表示します。
-p <プロセス番号>: 指定したファイルを一覧表示します。プロセス番号
-i<条件> によって開かれた: 条件 (プロトコル、ポート、@IP) を満たすプロセスをリストします。

# 查看那个进程占用了8888端口
lsof -i:8888
# 列出进程10532所打开的文件
lsof -p 10532
# 监听tcp链接进程信息
lsof -i tcp
# 查看占用了tcp端口9999的进程
lsof -i tcp:9999
5. df および du コマンド
  • df と du を一緒に使用してスペースの使用状況を確認します

df コマンドは、ディスクのスペース使用量を確認するために使用されます。-h を選択すると、情報の可読性を向上させる単位として K、M、G が示されます。du コマンドは、ディレクトリのスペース使用量を確認するために使用されます
。デフォルトでは、すべてのサブディレクトリがカウントされます。オプション -h は、情報の読みやすさを向上させる単位として K、M、G を使用することを意味し、オプション -s は、統計概要情報のみを表示することを意味します。

# 查看系统磁盘的空间占用情况
df -h
# 查看指定目录系统磁盘的空间占用情况
df -h /home/
# 查看指定目录的空间占用情况
du /home/ -h
# 查看指定目录的空间占用情况,只显示汇总信息
du /home/ -sh
# 查询指定目录下的直接子目录空间占用情况,只显示汇总信息
du /var/*/ -sh
6.tcpdumpコマンド
7. netstatコマンド
8. cURL および wget コマンド
9. パイプライン

一般的な LINux コマンド

1. 最も多くのメモリを使用しているディレクトリを確認します。
du -h -x --max-depth=1
2. 指定されたポートプロセスをクエリします。
netstat -lnp|grep 80

おすすめ

転載: blog.csdn.net/qq_45752401/article/details/125637731