-----------------------------查看目錄----------------------------------------------
ls , 即 list, 列出目錄下的所有項示例:
????查看當前目錄? ls
????查看 /home/shaofa 目錄? ?ls /home/shaofa
????以詳細模式查看 ls? -l? /home/shaofa 其中轧葛,-l 為參數(shù)儡循,參數(shù)一般以 - 開頭
????1 在輸入命令和路徑時清焕,按 TAB 鍵可以自動補全ls /ho ? ls /home
????2 輸入歷史可以翻閱? 按 ↑ ↓ 箭頭鍵可以上下翻閱
? ? 3 宿主機 與 虛擬機之間可以拷貝粘貼,一般情況下除嘹,文本和文件都可以拷貝
--------------------------切換目錄-------------------------------------
pwd , 即 print working directory 顯示當前工作目錄
cd , 即 change directory , 切換目錄
????示例:切換到用戶主目錄
????cd 切換到某個目錄
????cd /home/shaofa/example
幾個特殊的目錄:
????~? 代表當前用戶的主目錄
????.? 代表當前目錄
????..? 代表上一級目錄
????cd ~? 切換到主目錄
????cd ~/example 切換到主目錄下的example目錄
????cd ../www? 切換到上級目錄可婶、再到www子目錄
--------------------------------目錄操作-----------------------------------------------
mkdir 芍阎,即 make directory 創(chuàng)建目錄
mkdir? abc
mkdir? -p? abc/123/test
使用 -p 參數(shù)燎斩,可以將路徑的層次目錄全部創(chuàng)建
rmdir 杯活,即 remove directory 刪除空目錄
rmdir abc
如果目錄非空匆帚,則刪除失敗
---------------------------------歸檔壓縮----------------------------------------------
tar , 即 tape archive 檔案打包
創(chuàng)建檔案包
????tar? -cvf? example.tar? example
其中,
????c ,? 表示 create 創(chuàng)建檔案
????v ,? 表示 verbose 顯示詳情
????f ,? 表示 file
也可以多個目錄打包? tar -cvf? xxx.tar? file1? file2? file3
還原檔案包
????tar? -xvf? example.tar
????tar? -xvf? example.tar? -C? outdir
????其中轩猩,-C 參數(shù)指定目標目錄卷扮,默認解到當前目錄下
先前的tar格式并沒有壓縮,體積較大
并檔并壓縮
????tar? -zcvf? example.tar.gz? example
解壓縮
????tar? -zxvf? example.tar.gz
????tar? -zxvf? example.tar.gz? -C? outdir
通常我們所見的均践,都是 *.tar.gz 這種格式
-------------------------------軟連接----------------------------------------------
軟鏈接晤锹,即 Windows 下的 "快捷方式"
????使用 ln 命令 (link) 來創(chuàng)建軟鏈接
????ln? -s? source? link
其中,-s 表示 soft 軟鏈接 ( 默認為硬 )比如
????ln? -s? example? example2????
軟鏈接的特點:
????1 刪除軟件接彤委,對原文件沒有影響
????2 刪除原文件鞭铆,則軟鏈接失效
????以 ls -l 查看文件詳情時,可以看到目標路徑
????比如,ls -l /
????可以發(fā)現(xiàn)车遂,/bin 實際指向的是 /usr/bin 目錄
-----------------------------------添加用戶--------------------------------------------
比如封断,添加一個用戶
????sudo useradd -m test1
其中,sudo, 表示以管理員身份執(zhí)行
1 添加用戶
????sudo useradd? -m test1
????其中舶担,-m參數(shù)表示在 /home 下添加用戶目錄
2 修改用戶密碼
????sudo passwd test1
3 刪除用戶
????sudo userdel test1
1 在登錄系統(tǒng)時坡疼,默認不允許以 root 用戶登錄
2 只有特殊的用戶,才能執(zhí)行 sudo
比如衣陶,yanjingliang可以執(zhí)行sudo柄瑰,但test1不行
Linux下,把能執(zhí)行sudo命令的用戶叫 sudoer
-----------------------------超級用戶 root------------------------------------------
超級用戶 root
類似于 Windows 下的 Administrator 用戶
切換到 root 用戶剪况,有全部權限教沾,可以直接 useradd 等命令
1首次使用時,需要給 root 設置密碼
????sudo passwd root
2 切換到 root 用戶
????su root
其中译断,su 表示 switch user
3 退出
????exit
su root 僅僅對當前會話 (終端) 有效,不影響當前桌面環(huán)境,root 權力太大授翻,需要小心使用
------------------------------------用戶組---------------------------------------------
Linux 下可以創(chuàng)建多個用戶,可以用組進行管理用戶孙咪。
比如:
????男生組 boys
????????ming? bo? gang? qiang
????女生組 girls
????????fang? hong? yue yuan
創(chuàng)建組 groupadd boys
創(chuàng)建用戶 useradd -m -g boys ming
其中堪唐,-g表示在添加用戶,同時將用戶加到boys組
修改現(xiàn)有用戶到新的組? usermod -g boys shaofa
其中该贾,usermod表示修改用戶信息
如何查看用戶和組羔杨?
????cat /etc/group
????每一行表示一個group的信息,名稱 + ID
????如何查看用戶列表杨蛋?
????cat /etc/passwd
????每一行表示一個用戶的信息
用戶不多時,管理的時候并不使用組的概念
????useradd? a1
????useradd? b1
一個root理澎,兩個普通用戶a1, b1 逞力,夠用了!
默認地糠爬,會給a1用戶建立一個同名的組a1 寇荧,也就是說這個組里只有他一個人。
----------------------------以root登錄桌面----------------------------------
默認地,無法以root登錄?Ubuntu的桌面環(huán)境执隧。本文檔介紹如何設置,才能以root來登錄面揩抡。一、設置root密碼
????首次執(zhí)行時镀琉,需要修改root密碼
????sudo passwd root
????此時峦嗤,root已經(jīng)設置了密碼,但是還不能用root登錄桌面屋摔。
二烁设、修改配置
????按以下步驟,執(zhí)行
1:
????su root? 在終端里?切換到?root用戶
2 :
????gedit /etc/pam.d/gdm-autologin
????在這一行前面加一個#
????#auth required pam_succeed_if.so user != root quiet_success
????關閉并保存
3:
????gedit /etc/pam.d/gdm-password
????在這一行前面加一個#
????#auth required pam_succeed_if.so user != root quiet_success
????關閉并保存
4:
????關閉虛擬機钓试,重啟后生效
三装黑、以root登錄桌面
????在登錄界面副瀑,點下面的’未列出'
????手工輸入用戶名root,登錄
--------------------------------------文件權限-----------------------------------
考慮以下幾個方面:
????- owner : 文件的屬主 owner
????- r : 文件是否可讀 read
????- w :? 文件是否可寫 write
????- x:? ? 文件是否可以執(zhí)行 excute
使用 ls 命令查看一個文件
????ls -l simple.txt
????-rw-r--r--. 1 shaofa shaofa 13 4月? 21 03:48 simple.txt
????其中恋谭,rw-r--r-- 表示該文件的訪問權限
------------------------------------修改文件權限-----------------------------
chmod , 即change file mode 修改文件的訪問權限
比如糠睡,一個文件abc.txt ,想讓別人也能修改
????chmod? o+w? simple.txt
????其中疚颊,o 铜幽,表示 other 別人
????+w ,表示增寫 write 權限
chmod a+w abc.txt
????所有人 all 添加w權限
chmod a-w abc.txt
????所有人減去w權限
chmod u+w? abc.txt
????僅用戶 user 自己的權限 +w
chmod o-w? simple.txt
????修改別人 other 的權限 -w
只有文件的屬主或者root 可以修改文件權限
省略寫法
????chmod? +w? simple.txt
????chmod? -w? simple.txt
????默認是修改自己和本組的權限
--------------------------------修改文件屬主-------------------------
chown , 即change owner 修改文件的屬主
一般來說串稀,每個用戶只操作自己的用戶目錄
所以 chown 命令并不常用
示例:
????1 在 /opt 目錄下建立一個文件夾 software
????2 將 software 目錄分配給用戶 shaofa
????????su root
????????mkdir /opt/software
????????chown -R shaofa /opt/software
????????ls -ld /opt/software
只有文件的 owner 和 root 才有權更改屬主
-----------------------------------可執(zhí)行腳本--------------------------------
腳本 Script 除抛,一種解釋執(zhí)行的程序
Linux 下常見的三種腳本程序
????- Shell 腳本? *.sh
????- Perl 腳本? *.pl
????- Python 腳本 *.py
腳本程序,本質(zhì)是一個文本文件
????1 它是一個文本文件
????2 它具有可執(zhí)行權限
腳本程序都是由解釋器來執(zhí)行的
????Shell腳本解釋器:? /bin/sh
????Perl腳本解釋器:? ? /bin/perl
????Python腳本解釋器:/bin/python3
執(zhí)行一個腳本時母截,以下兩種方式等效
????./hello.py
????/bin/python3? hello.py
--------------Shell腳本
????Shell腳本到忽,按Shell的語法寫出來的腳本
????是 Linux 自帶的腳本語言
????相當于Windows下的 DOS 批處理腳本
1 編輯一個文本文件,保存為 hello.sh
????#!/bin/sh
????echo "hello,world"
2 添加可執(zhí)行權限
????chmod +x? hello.sh
3 執(zhí)行程序
????./hello.sh
????/bin/sh hello.sh
注意:
? ??1 第一行必須聲明解釋器
????????#!/bin/sh
????2 必須有 x 權限,才能夠執(zhí)行
????????比如清寇,一個程序只有作者執(zhí)行喘漏,別人不能執(zhí)行
????????rwxr--r--
????3 執(zhí)行程序時,必須加上路徑
????????./hello.sh
????????/home/shaofa/hello.sh
--------------Python腳本
????Python腳本华烟,比Shell要強大一些,對于 C / Java 工程師,??
? ??1 編輯一個文本文件,
? ? ? ? ? ? #!/bin/python3
? ? ? ? ? ? print("hello,word")
? ??????????保存為? ?hello.py
????2 添加可執(zhí)行權限? ?chmod +x? hello.py
????3 執(zhí)行程序? ? ./hello.py? ??
--------------------------------- 環(huán)境變量 ----------------------------------
環(huán)境變量翩迈,就是存在當前環(huán)境中的變量
定義環(huán)境變量????export OUTDIR=/opt/
顯示環(huán)境變量????echo ${OUTDIR}
查看所有環(huán)境變量????printenv
環(huán)境變量的使用:
????可以在當前終端中使用
? ? 可以在 SHELL 腳本中調(diào)用
在命令行中定義的環(huán)境變量,只對當前SHELL終端有效
當關閉終端后盔夜,重啟后就消失了
--------------------------------用戶環(huán)境變量----------------------
用戶環(huán)境變量:定義在 ~/.profile 中
在主目錄下查看隱藏文件????ls -la
其中负饲,a 表示 all ,顯示所有文件
注:在Linux下喂链,以 . 開頭的文件為 隱藏文件
1 用文本編輯器打開 ~/. profile
????gedit ~/.profile
2 添加
????export JAVA_HOME=/opt/jdk1.8
????保存并關閉
3 注銷返十,重新登錄后生效
????echo $JAVA_HOME
原理:當用戶打開終端時,會自動運行 .profile 椭微,將變量注入到當前環(huán)境中洞坑。
注意:
? ??????1 以點號 . 開頭的文件為隱藏文件
????????????ls -a 查看所有文件
????????2 此配置只對當前用戶有效
????????????????因為每個用戶都有自己的配置文件 .profile
????????3 有的Linux系統(tǒng)上,使用 .bash_profile
---------------------系統(tǒng)環(huán)境變量----------------
系統(tǒng)環(huán)境變量:定義在 /etc/profile 中
此中的環(huán)境變量對 所有用戶 有效
以 root 身份執(zhí)行
gedit? /etc/profile
但是蝇率,一般不直接修改 /etc/profile
而是在 /etc/profile.d/ 創(chuàng)建一個自定義的腳本
1 用 gedit 創(chuàng)建一個腳本
????gedit /etc/profile.d/myprofile.sh
2 定義環(huán)境變量
????export TOMCAT=/opt/tomcat
3 注銷并重新登錄
????重新登錄后迟杂,環(huán)境變量生效
--------------------------------PATH 環(huán)境變量----------------------------------
PATH,最常見的一個環(huán)境變量
用于描述可執(zhí)行程序的搜索路徑
查看path中的配置目錄????echo $PATH
多個路徑之間以冒號分隔
usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
默認地本慕,系統(tǒng)從以下目錄中搜索可執(zhí)行程序
/usr/bin? 比如排拷,/usr/bin/tar
/usr/sbin? 比如,/usr/sbin/useradd
/usr/local/bin
/usr/local/sbin
其中间狂, sbin 為超級用戶 root 才能執(zhí)行的程序
/usr/ 下系統(tǒng)自帶的程序攻泼, /usr/local/ 是用戶安裝的程序
演示:修改PATH環(huán)境變量。。忙菠。
????1 編輯 /etc/profile.d/myprofile.sh
????????設定 PATH 環(huán)境變量
? ? ? ? ?export PATH=$PATH:/opt/tomcat/bin
? ? ?2 注銷何鸡,重新登錄后生效
-------------------------手動配置網(wǎng)絡----------------------------------
在終端里,以命令行方式來配置網(wǎng)絡
常用命令: ifconfig? ,? netstat 等
默認地牛欢,Ubuntu 下面不帶 ifconfig 命令
需要使用 apt 軟件包管理器
apt install net-tools 安裝一個軟件包
apt remove net-tools 移除一個軟件包
apt search xxx? 搜索
apt list | grep xxx 列表
如果出現(xiàn):
? ??E: 無法定位軟件包問題”
? ? 解決:輸入????sudo apt-get update????更新一些軟件源骡男。
1 查看網(wǎng)絡配置
????ifconfig
其中,if 表示 interface 網(wǎng)絡接口
會列出所有的網(wǎng)絡接口傍睹,及各個接口的狀態(tài)
2 開啟/禁用網(wǎng)絡
????sudo ifconfig xxx up
????sudo ifconfig xxx down
--------------------------------- 文本編輯 vi ----------------------------------
vi / vim , 一個基于控制臺的文本編輯器
gedit , 一個基于GUI的文本編輯器
其中隔盛,vim 是 vi 的升級版,? 演示使用 vim 命令
1 打開文本編輯
????vim abc.txt
如果目標文件存在,則打開編輯拾稳;如果不存在吮炕,會新建一個文件
如果系統(tǒng)上沒有 vim ,就安裝一下:
????sudo apt install vim
2 切換模式
????編輯模式 Insert Mode:? 按 i 鍵
? ? 命令模式 Command Mode:? 按 ESC 鍵
3 退出編輯
? ? 1访得、按 ESC 鍵龙亲,進入命令模式
? ? 2、輸入? :wq? 保存并退出
? ? 3悍抑、輸入? :q? 退出
? ? 4鳄炉、輸入? :q!? 強制退出 ( 放棄保存 )
Linux文本文件的編輯
1? 桌面環(huán)境:gedit
2? 終端環(huán)境:
?????- 少量修改 : vim
? ? ?- 大量修改 : 在 Windows上編輯,然后上傳到Linux
------------------------------------文本文件的上傳-----------------------------------
推薦:在 Windows上編輯搜骡,然后上傳到 Linux
使用 notepad ++ 或者其他的專業(yè)編輯器
文本文件的換行符
????Windows : \r\n
????Linux : \n
????可以在 Notepad ++ 里觀察到此區(qū)別
????????視圖 | 顯示符號 | 顯示行尾符
換行符的轉換:
????????編輯 | 文檔格式轉換 | 轉換為 UNIX格式
注意:只有在編輯 SHELL 腳本時拂盯,才需要轉換
? ? ? ? ? ?其他格式的文件一般都不需要轉換,如*.xml, *.java
在?Ubuntu上面運行:
????????dos2unix xxx.sh
????????也可以將?xxx.sh轉成?UNIX的換行風格(?\n )
????????如果系統(tǒng)里沒有這個命令记靡,可以安裝一下:
????????sudo apt install dos2unix
Shell腳本的編輯 谈竿。。
????1 用 Notepad++打開編輯 mytest.sh
????2 轉成 Unix格式 \n
????3 上傳至Linux
????4 chmod? +x mytest.sh
????5 運行 ./mytest.sh
---------------------------------- 程序與進程 ----------------------------
程序 Program:指一個程序文件簸呈,如 notepad.exe
????進程 Process:當一個程序運行起來榕订,在操作系統(tǒng)內(nèi)創(chuàng)建一條記錄,
????用于描述和控制它的運行
????比如蜕便,打開多個 notepad.exe ,則得到多個進程
查看進程命令:
????ps -ef
????其中贩幻,各個字段的含義:
????UID : 執(zhí)行者
????PID :? 進程ID
????PPID :? 父進程ID
????STIME :? 啟動時間
????CMD :? 啟動時調(diào)用的命令行