linuxの基本コマンド
1.Linuxの概要
オープンソース、安定(1年以上シャットダウンは不要)、抜け穴が少ない、無料トライアル、無料スプレッド
Bell Labsは1970年にユニットを開発し、linusは1980年にlinuxを開発しました。
Linuxは実際にはカーネルです。バージョンには、redhat(redhetとcentos)、ubuntu(最高のグラフィカルインターフェイス)、suse、aliyulinuxなどがあります。
2.VMとLinuxのインストール
2.1ネットワークモードを選択する
2.1.1ブリッジネットワーク
ブリッジネットワークとは、仮想マシンとホストが同じネットワークセグメントにあること、つまり、IPアドレスの最初の3ビットが同じであることを意味します。これにより、2つの問題が発生します。
-
ipアドレスが足りない
合計253のアドレスを使用できますが、仮想マシンが占有された後、他のホストはこのIPを使用できなくなります
-
危険な
Linuxは通常サーバーとして使用され、他のホストはサーバーに自由にアクセスできるため、セキュリティ上の問題が発生します
2.1.2ネットワーク変換モード
ネットワーク変換モードでは、仮想マシン内のLinuxとホストが同じネットワークセグメントにないため、ブリッジモードの2つの問題を回避できます.2つの仮想ネットワークカードを追加してホストと仮想マシン間の通信を実現するには、vmnet8仮想ネットワークカードが仮想マシン内にある必要がありますipは同じネットワークセグメントにあります。
2.1.3ホストオンリーモード
仮想マシンと現在のホストを同じネットワーク内に作成し、ホストネットワークと同じネットワークを共有せず、インターネットにアクセスできないようにします
2.2パーティションとファイルシステム
パーティション | ファイルシステム | サイズ |
---|---|---|
/ boot(ブートファイルを保存) | ext4(無制限のストレージサイズ) | 2048mb |
スワップ(システムメモリが十分でない場合は、パーティションのこの部分をメモリとして使用できます) | スワップ | 2048mb |
/(ルートパス) | ext4 | 残り16g |
2.3xshellとxftpをインストールします
xftpを使用してlinuxに接続する場合、ftpは暗号化されず、sftpは暗号化されます
3.Linuxファイルとディレクトリの構造
すべてがファイルです
/ binは、最も頻繁に使用されるコマンドを格納します
/ user / bin
/ user / local / bin
/ sbinは、システム管理者が使用できるコマンドを格納します
/ user / sbin
/ user / local / sbin
[注]上記の6つのパスは、表示する環境変数echo $ PATHで構成されているため、Linuxの任意の場所からアクセスできます。
/ homeは、通常のユーザーのホームディレクトリを格納します。Linuxでは、各ユーザーが独自のディレクトリを持っています。一般的なディレクトリ名は、アカウント名にちなんで名付けられています。
/ rootこのディレクトリはシステム管理者です
/ libほとんどすべてのプログラムは動的リンクライブラリを使用する必要があります
/ lost + foundは通常空です。不正なシャットダウン(電源を抜いて、仮想マシンを直接シャットダウン)すると、ファイルが保存されます。
/ etc mysql、jdk、その他のファイルなど、システム管理に必要なすべての構成ファイルとサブディレクトリは、デフォルトでetcの下にインストールされます。
/ usrは非常に重要なフォルダーであり、ユーザーのアプリケーションとファイルの多くは、Windowsのプログラムファイルディレクトリと同様に、このディレクトリに配置されます。
/ bootコアファイル(接続ファイルとミラーを含む)(使用しないでください)
/ proc仮想ディレクトリ、システムメモリのミラー、このディレクトリに直接アクセスしてシステム情報を取得できます(使用しないでください)
/ srv serviceの略語で、サービスの開始後に提供する必要のあるデータを格納します(使用しないでください)
/ sys linux2.6カーネルでの新しいファイルシステムsysfs(使用しないでください)
/ tmpは一時ファイルを保存します
/ devデバイスマネージャー、すべてのハードウェアはファイルの形式で保存されます
/ media(centos6)システムはUSBフラッシュドライブなどの一部のデバイスを自動的に認識し、Linuxは認識されたデバイスをこのディレクトリに配置します
/ runプロセスによって生成された一時ファイル、CDインプレッションをロードする仮想マシンは/ run / media / rootディレクトリにあります
/ mntが一時的に別のファイルシステムでハングしている場合、このディレクトリに外部ストレージを配置すると、rootに似たコンテンツを確認できます。
/ opt(最も使用されるディレクトリ)ソフトウェアがインストールされているディレクトリ
/ usr / localは、ソフトウェアがインストールされるディレクトリでもあります。違いは、ソースコードをコンパイルしてインストールされたソフトウェアを保存することです。
/ varは、さまざまなログファイルを含め、常に拡張するものを格納します
4. VI / VIMエディター
3つのモード
-
一般モード
表示と基本的な剪定を担当します
ddはカーソルの現在の行を削除します
dnd削除n行
uキャンセル
xdeleteはdeleteと同等です
X削除はバックスペースと同等です
yyカーソルの現在の行をコピーします
pペースト
dw単語を削除する
yw単語をコピーする
shift + gドキュメントの最後に移動します
n + shift + g行に移動
shift + 4は行の先頭に移動します(通常の式は^(6)で始まり、$(4)で終わるため)
shift +6行末に移動
-
編集モード
i現在のカーソルの前に挿入します
a現在のカーソルの後に挿入
o現在のカーソル行の次の行
dd行全体を削除します
■現在の文字を削除して編集モードに入ります
S行全体を削除して、編集モードに入ります
Rカーソルの後、すべて置換モードに入ります
-
コマンドモード
保存、終了、行番号の表示、検索、バッチ置換、その他の操作が可能
:w保存
:q出口
:!必須
:%s /古い文字列/新しい文字列/ gバッチ置換
/検索文字列(ハイライトは常に存在します)nは次を検索し、Nは前を検索します
:nohハイライトを削除
:setnu表示行番号
:setnonuは行番号を表示しません
5.一般的に使用される基本的なコマンド
su - [root] 切换用户root
pwd 查看当前所在的目录(重要)
echo $PATH 输出环境变量
man [date] 查看date指令如何使用(显示部分,使用空格翻页)
[date] --help 查看date指令如何使用(显示全部)
date中的指令有好多
cal显示日历的日期命令
cd ..
cd / 绝对命令
cd,cd ~ 返回家目录
cd /etc/sysconfig 从根目录下开始找,通过绝对路径
cd ./sysconfig 从当前路径下开始找,通过相对路径
ll查看当前目录下所有内容
ファイルディレクトリ管理
ls 显示目录中的文件
-a 显示所有文件,包括隐藏的文件
-l列出详细列表
ls -l 可以简化为ll
ls -a -l 可以简化为ls -al 查询所有文件,包括隐藏文件的所有列表信息
grep 在linux中是管道,可以理解为模糊查询
ll | grep cfg
一般情况下不显示隐藏文件
-rw-------. 1 root root 1972 10月 7 12:31 anaconda-ks.cfg
-rw-r--r--. 1 root root 2020 10月 7 12:40 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 4096 10月 7 13:13 公共
drwxr-xr-x. 2 root root 4096 10月 7 13:13 模板
drwxr-xr-x. 2 root root 4096 10月 7 13:13 视频
drwxr-xr-x. 2 root root 4096 10月 7 13:13 图片
drwxr-xr-x. 2 root root 4096 10月 7 13:13 文档
drwxr-xr-x. 2 root root 4096 10月 7 13:13 下载
drwxr-xr-x. 2 root root 4096 10月 7 13:13 音乐
drwxr-xr-x. 3 root root 4096 10月 7 13:18 桌面
以上-rw-------每一位代表不同的含义
第0位 - 代表文件类型,-代表普通文件,d代表目录
第1,2,3位代表对当前目录或文件所属的权限 r读 w写 x执行
第4,5,6位代表文件所属用户所在组的其他用户对该文件的权限
第7,8,9代表文件所属用户所在组以外的用户对该文件的权限
mkdir 创建文件夹
-p 可以创建多级目录
touch 新建一个文件
创建文件还可以通过 vi/vim 目前不存在的文件名 直接创建文件
rmdir 删除一个空目录
rm 移除文件或目录
-rvf 递归删除所有目录内容,提示
-rf 递归删除所有目录内容,不提示
cp 拷贝
-r 递归复制
-v 查看提示
mv 移动文件和重命名
mv 旧文件名 新文件名
mv 要移动的文件 移动到哪里
cat 查看轻量级文件
cat 文件名
cat 文件1 文件2 连续查看两个文件
cat 文件1 文件2>文件3 将文件1和文件2合并到文件3
more 查看较长的文件 空格键翻页 enter向下一行 q离开
less 查看文件,和more类似,功能比more多
pageup向上翻页
pagedown向下翻页
/ 向下搜索
? 向上搜索
tail 从尾部开始查看, 比较适合查看日志
-f跟随查看,就是光标一直在,除非退出,否则会一直查看
-n200 显示的行数
history 查看历史命令
echo 输出环境变量
在shell脚本中充当sysout.out.println();
find 查找文件,提供模糊搜索及条件搜索,查询速度慢
locate 查找文件,速度快,从内存中查询,只能查出上次关机前创建的文件,因为本次开机创建的文件还没有记录至内存,需要更新数据库才可以,更新数据库的命令是updatedb
updatedb 更新数据库,缓存,可以与locate配合使用
ソフト接続-ショートカット
创建 ln -s 源文件或目录名 软连接名
查询 ls -l就可以查看列表属性 前十个字母的第一位位l
圧縮と解凍
压缩:
tar -zcvf XXX.tar.gz n1.txt 压缩文件
-c 创建一个新归档
-v 显示详细信息
-f 指定压缩后的文件名
-z 通过gzip过滤文档
解压:
tar -zxvf XXX.tar.gz
-x 从归档中解出文件
-v 显示详细信息
压缩:
zip mypackage.zip t1.txt t2.txt
zip -r pack.zip pack/*(递归压缩)
解压
upzip mupackage.zip
ディスクパーティション:2つの一般的なタイプのディスクパーティション
mbrとgpt
-
mbr
4つのプライマリパーティションのみをサポートします
-
gpt
無制限のプライマリパーティション
lsblk 查看所有设备挂载情况
sda代表磁盘
reboot 重启
ハードディスクの追加は、仮想マシンに追加してから再起動する必要があります
分区命令:
fdisk /dev/sdb
开始对sdb进行分区
m 显示命令列表
p显示磁盘
n新增分区
d删除分区
w写入并退出分区
文件类型新学了一种b代表磁盘
l 软连接
- 普通文件
d 文件夹
格式化磁盘
分区命令:mkfs -t ext4 /dev/sdb1
ext4为文件类型
挂载:添加的硬盘或分区与某一个文件加或目录进行关联,因为新分的分区现在用不了,只有和磁盘中的某一个目录联系起来才可以使用
mount 设备名称 挂载目录 例:mount /dev/sdb1 /newdisk
取消挂载
umount 设备名称或者目录 例如 umount /dev/sdb1 或者 umount /newdisk
永久挂载 通过修改/etc/fstdb实现挂载 文件末尾添加
磁盘 挂载点 文件系统
/dev/sdb1 /dev/newdisk ext4 defaults 0 0
然后执行mount -a 即刻生效永久挂载
df -h 硬盘整体情况查询
du -h 目录
-a含文件
-s指定目录占用大小汇总
-c列出明细的同时,增加汇总值
--max-depth=n 子目录的深度为n
例如:du -ach --max-depth=1 /opt 查看opt目录下子目录的情况,子目录深度是1
ネットワーク構成クラス
ifconfig
查看网络配置
処理する
ps
[root@blp ~]# ps
PID TTY TIME CMD
3228 pts/1 00:00:00 bash
3753 pts/1 00:00:00 ps
bash :终端
ps命令
-a显示当前终端所有进程信息
-u以用户的格式显示进程信息
-x显示后台进程运行的参数
ps -aux 查看用户格式的进程信息
ps -ef 查看进程号等信息
kill pid 杀死进程
kill -9 pid 强制杀死进程 例如:杀死终端进程时需要强制
killall 进程名字 通过进程名字杀死进程(不使用)
サービスサービス
systemctl 服务名 start
systemctl list-unitsystem-files 查看所有的服务方式1
systemctl --type service 方式2 显示的信息列表不同
q退出
防火墙服务如果不关闭,则主机无法访问linux上的mysql,radis。
systemctl disable service_name 不自启动
systemctl enable service_name 自启动
システムのネットワークステータスを確認します
netstat 查看系统的网络情况
-an 按一定顺序排序
-p 显示哪个进程在调用
vmstatコマンドを使用して、システムの特定の負荷を表示します
vmstat 1 5
- r(run):CPUタイムスライスを実行中または待機しているプロセスの数を表します。この値がサーバーCPUの数よりも長い間長い場合は、CPUリソースが十分でないことを意味します。
- b(ブロック):リソース(I / O、メモリなど)を待機しているプロセスの数を表します。たとえば、ディスクの読み取りと書き込みが非常に頻繁な場合、データの書き込みは非常に遅くなります。この時点で、CPUの動作はすぐに終了しますが、プロセスのタスクが完了するように、プロセスは計算結果をディスクに書き込む必要があるため、これはタスクはディスクをゆっくりと待つことしかできません。値が長期間1より大きい場合は、どのリソースが欠落しているかを確認する必要があります。
- siなど:それぞれ、スワップ領域によってメモリに書き込まれるデータの量と、メモリによってスワップ領域に書き込まれるデータの量を表します。一般に、siなどの値が長期間0でない場合、siなどの値は両方とも0になります。これは、システムメモリが不足しており、ディスクのスワップ領域を借用する必要があることを意味します。これはシステムパフォーマンスに大きな影響を与えることが多いため、システムメモリを増やすかどうかを検討する必要があります。
- biとbo:それぞれ、ブロックデバイスから読み取られたデータの量とブロックデバイスに書き込まれたデータの量を示します。これらの2つの値が高い場合、ディスクI / O圧力は非常に高くなります。
- wa:I / O待機が占めるCPU時間の割合を表します。wa値が高いほど、I / O待機は深刻になります。wa値が20%を超えると、I / O待機が深刻になります。
またvmstat
、コマンドの後に2つの数字があります。最初の数字は結果を印刷する秒数を示し、2番目の数字は結果が合計で印刷される回数を示します。最初の数字しかない場合は、結果があなたまで連続して印刷されます。注文を終了します。
topコマンドを使用して、プロセスが占有しているシステムリソースを表示します
top
コマンドの結果には多くの情報が含まれていますが、主にプロセスが占めるシステムリソースを監視するために使用します。topコマンドの結果は3秒ごとに変化し、システムリソース(CPU、メモリ、ディスクI / Oなど)が最も多いプロセスを最上位に配置するのが特徴です。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 41060 3576 2396 S 0.0 0.4 0:00.89 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
ここでは、主にRES(占有メモリのサイズ)、%CPU、%MEM(占有メモリのパーセンテージ)、およびCOMMANDの4つのフィールドに焦点を当てます。
さらに、システムリソースの使用状況を一度に印刷する必要がある場合は、それを使用できますtop - bn1
。
freeコマンドを使用して、メモリ使用量を表示します
さらに、十分なメモリがあるかどうかを確認するためにvmstat
、より直接的で効果的なfree
コマンドを使用することもできますfree -h
。
# free -h total used free shared buff/cache availableMem: 992M 141M 462M 516K 388M 714MSwap: 1.0G 0B 1.0G
- total:メモリの合計量。used+ free + buff / cache = used + availableに相当します。
- 使用済み:実際に使用されたメモリの量。
- free:残りの(割り当てられていない)メモリの量。
- 共有:フォローしないでください。
- バフ/キャッシュ:CPUとI / O間の速度ギャップを緩和するために使用されるメモリバッファ領域は、バックアップ用にシステムによって予約されていますが、残りのメモリが十分でない場合は、この部分をサービス用に転用することもできます。
- 使用可能:使用可能なメモリ。free+ buff / cacheと同等です。
システムログインログを表示する
last | head
6.Linuxユーザーと権限の管理
添加用户:useradd 新用户名
设置密码:passwd 用户名
用户是否存在: id 用户名
切换用户: su - 用户名
查看当前用户/登录用户 : whoami/who am i
删除用户:userdel username(不完全)
还要删除home下的用户
etc/passwd下的用户
etc/group下的用户
/var/spool/mail下的邮箱文件
完全删除用户:userdel -rf username
添加用户组
新增:groupadd 组名
删除组:groupdel 组名
修改用户的组: usermod -g 用户组 用户名
增加用户时直接加上组 : useradd -g 用户组 用户名
etc / passwdファイル内のユーザーの構成ファイルの各行の意味:username:password .. ..
パスワード設定ファイルの場所:/ etc / shadowファイル内
グループを表示するコマンドは/ etc / groupファイルにあります
ファイル権限管理
各ファイルまたはフォルダーの上位10は、次のことを表します。
0:ファイルタイプ
123:所有者権限
456:グループ権限
789:その他のユーザー権限
ファイル内の操作の読み取り、書き込み、および実行:
[R]:読みやすい
[W]:書き込み可能、ファイルに書き込み可能機能があるフォルダーのみを削除できます。それ以外の場合は機能しません。
[X]:操作はシステムで実行できます
フォルダ内の操作の読み取り、書き込み、および実行
[R]:フォルダの内容を表示できます
[W]:ディレクトリの変更、ディレクトリの作成、削除、名前の変更ができます
[X]:ディレクトリに入ることができます
chmod変更ファイルのアクセス許可
'+'、 '-'、 '='が変更されました
uは所有者、gはグループ、oは他のユーザー、すべてを表します(u、g、oの組み合わせ)
chmod u = rwx、g = rx、o = rファイルディレクトリ名
chmod o + wファイルディレクトリ名
chmodaxファイルのディレクトリ名
chownは、ファイルのユーザー権限を変更します
chown 待所有者 文件名
-r 递归
chgrpは、ファイルが属するグループを変更します
chgrp 待改的组 文件名
7.rpmとyum
rpmインストールパッケージを介してプログラムをインストールします。yumオンラインダウンロード
查询已安装的rpm列表:rpm -qa|grep
rpm -ivh rpm包名
-i 安装 install
-v查看信息
-h查看进度
卸载
rpm -e rpm软件包
yum list|grep xx软件列表
yum install xxx 下载安装
8.開発環境を構築します
jdkをインストールします
ファイルをoptフォルダーに解凍します
環境変数を構成するための構成ファイルは/ etc / profileにあります
JAVA_HOME=/opt/jdk1.8.0_152
PATH=/opt/jdk1.8.0_152/bin:$PATH 将/opt/jdk1.8.0_152/bin的路径赋值给PATH 也可写为:$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH 对外引用,能够在外面进行访问
使环境变量立即生效
第一种:source /etc/profile
第二种:重启系统
通过 echo $PATH查看是否有jdk
tomcatを直接解凍して、インストールを完了します
mysqlをインストールします
まず、mysql centos7でmariadbと呼ばれるmysqlをアンインストールします。
rpm -e --nodeps mariadb 卸载已安装的mariadb数据库,因为有个别的文件依赖这个db,所以使用 --nodeps
mysqlのバージョンを確認してください。
mysqladmin --version
rpm -qa | grep -i mysql -iは、大文字と小文字を区別しないことを意味します
mysqlをダウンロードする
wget http://repo.mysql.com/ mysql-community-release-el7.rpm
rpm -ivhmysql-community-release-el7.rpm
サービス開始
部分があります:service mysql start
systemctl start mysqld.service
パスワードを設定してください
mysqladmin -u root password '123'
mysqlのインストール場所を表示する
ps -ef | grep mysql
mysqlの文字セットを照会します
'%character%'のような変数を表示する