㈠ ubuntu基本操作
ls , 即 list, 列出目錄下的所有項示例:
查看當前目錄 ls
查看 /home/shaofa 目錄 ls /home/shaofa
以詳細模式查看 ls -l /home/shaofa 其中,-l 為參數,參數一般以 - 開頭
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 創建目錄
mkdir abc
mkdir -p abc/123/test
使用 -p 參數,可以將路徑的層次目錄全部創建
rmdir ,即 remove directory 刪除空目錄
rmdir abc
如果目錄非空,則刪除失敗
tar , 即 tape archive 檔案打包
創建檔案包
tar -cvf example.tar example
其中,
c , 表示 create 創建檔案
v , 表示 verbose 顯示詳情
f , 表示 file
也可以多個目錄打包 tar -cvf xxx.tar file1 file2 file3
還原檔案包
tar -xvf example.tar
tar -xvf example.tar -C outdir
其中,-C 參數指定目標目錄,默認解到當前目錄下
先前的tar格式並沒有壓縮,體積較大
並檔並壓縮
tar -zcvf example.tar.gz example
解壓縮
tar -zxvf example.tar.gz
tar -zxvf example.tar.gz -C outdir
通常我們所見的,都是 *.tar.gz 這種格式
軟鏈接,即 Windows 下的 "快捷方式"
使用 ln 命令 (link) 來創建軟鏈接
ln -s source link
其中,-s 表示 soft 軟鏈接 ( 默認為硬 )比如
ln -s example example2
軟鏈接的特點:
1 刪除軟體接,對原文件沒有影響
2 刪除原文件,則軟鏈接失效
以 ls -l 查看文件詳情時,可以看到目標路徑
比如,ls -l /
可以發現,/bin 實際指向的是 /usr/bin 目錄
比如,添加一個用戶
sudo useradd -m test1
其中,sudo, 表示以管理員身份執行
1 添加用戶
sudo useradd -m test1
其中,-m參數表示在 /home 下添加用戶目錄
2 修改用戶密碼
sudo passwd test1
3 刪除用戶
sudo userdel test1
1 在登錄系統時,默認不允許以 root 用戶登錄
2 只有特殊的用戶,才能執行 sudo
比如,yanjingliang可以執行sudo,但test1不行
linux下,把能執行sudo命令的用戶叫 sudoer
超級用戶 root
類似於 Windows 下的 Administrator 用戶
切換到 root 用戶,有全部許可權,可以直接 useradd 等命令
1首次使用時,需要給 root 設置密碼
sudo passwd root
2 切換到 root 用戶
su root
其中,su 表示 switch user
3 退出
exit
su root 僅僅對當前會話 (終端) 有效,不影響當前桌面環境,root 權力太大,需要小心使用
Linux 下可以創建多個用戶,可以用組進行管理用戶。
比如:
男生組 boys
ming bo gang qiang
女生組 girls
fang hong yue yuan
創建組 groupadd boys
創建用戶 useradd -m -g boys ming
其中,-g表示在添加用戶,同時將用戶加到boys組
修改現有用戶到新的組 usermod -g boys shaofa
其中,usermod表示修改用戶信息
如何查看用戶和組?
cat /etc/group
每一行表示一個group的信息,名稱 + ID
如何查看用戶列表?
cat /etc/passwd
每一行表示一個用戶的信息
用戶不多時,管理的時候並不使用組的概念
useradd a1
useradd b1
一個root,兩個普通用戶a1, b1 ,夠用了!
默認地,會給a1用戶建立一個同名的組a1 ,也就是說這個組里只有他一個人。
默認地,無法以root登錄 Ubuntu的桌面環境。本文檔介紹如何設置,才能以root來登錄面。一、設置root密碼
首次執行時,需要修改root密碼
sudo passwd root
此時,root已經設置了密碼,但是還不能用root登錄桌面。
二、修改配置
按以下步驟,執行
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: 文件是否可以執行 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 才有權更改屬主
腳本 Script ,一種解釋執行的程序
Linux 下常見的三種腳本程序
- Shell 腳本 *.sh
- Perl 腳本 *.pl
- python 腳本 *.py
腳本程序,本質是一個文本文件
1 它是一個文本文件
2 它具有可執行許可權
腳本程序都是由解釋器來執行的
Shell腳本解釋器: /bin/sh
Perl腳本解釋器: /bin/perl
Python腳本解釋器:/bin/python3
執行一個腳本時,以下兩種方式等效
./hello.py
/bin/python3 hello.py
Shell腳本,按Shell的語法寫出來的腳本
是 Linux 自帶的腳本語言
相當於Windows下的 DOS 批處理腳本
1 編輯一個文本文件,保存為 hello.sh
#!/bin/sh
echo "hello,world"
2 添加可執行許可權
chmod +x hello.sh
3 執行程序
./hello.sh
/bin/sh hello.sh
注意:
1 第一行必須聲明解釋器
#!/bin/sh
2 必須有 x 許可權,才能夠執行
比如,一個程序只有作者執行,別人不能執行
rwxr--r--
3 執行程序時,必須加上路徑
./hello.sh
/home/shaofa/hello.sh
Python腳本,比Shell要強大一些,對於 C / java 工程師,
1 編輯一個文本文件,
#!/bin/python3
print("hello,word")
保存為 hello.py
2 添加可執行許可權 chmod +x hello.py
3 執行程序 ./hello.py
環境變數,就是存在當前環境中的變數
定義環境變數 export OUTDIR=/opt/
顯示環境變數 echo ${OUTDIR}
查看所有環境變數 printenv
環境變數的使用:
可以在當前終端中使用
可以在 SHELL 腳本中調用
在命令行中定義的環境變數,只對當前SHELL終端有效
當關閉終端後,重啟後就消失了
用戶環境變數:定義在 ~/.profile 中
在主目錄下查看隱藏文件 ls -la
其中,a 表示 all ,顯示所有文件
註:在Linux下,以 . 開頭的文件為 隱藏文件
1 用文本編輯器打開 ~/. profile
gedit ~/.profile
2 添加
export JAVA_HOME=/opt/jdk1.8
保存並關閉
3 注銷,重新登錄後生效
echo $JAVA_HOME
原理:當用戶打開終端時,會自動運行 .profile ,將變數注入到當前環境中。
注意:
1 以點號 . 開頭的文件為隱藏文件
ls -a 查看所有文件
2 此配置只對當前用戶有效
因為每個用戶都有自己的配置文件 .profile
3 有的Linux系統上,使用 .bash_profile
系統環境變數:定義在 /etc/profile 中
此中的環境變數對 所有用戶 有效
以 root 身份執行
gedit /etc/profile
但是,一般不直接修改 /etc/profile
而是在 /etc/profile.d/ 創建一個自定義的腳本
1 用 gedit 創建一個腳本
gedit /etc/profile.d/myprofile.sh
2 定義環境變數
export TOMCAT=/opt/tomcat
3 注銷並重新登錄
重新登錄後,環境變數生效
PATH,最常見的一個環境變數
用於描述可執行程序的搜索路徑
查看path中的配置目錄 echo $PATH
多個路徑之間以冒號分隔
usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
默認地,系統從以下目錄中搜索可執行程序
/usr/bin 比如,/usr/bin/tar
/usr/sbin 比如,/usr/sbin/useradd
/usr/local/bin
/usr/local/sbin
其中, sbin 為超級用戶 root 才能執行的程序
/usr/ 下系統自帶的程序, /usr/local/ 是用戶安裝的程序
演示:修改PATH環境變數。。。
1 編輯 /etc/profile.d/myprofile.sh
設定 PATH 環境變數
export PATH=$PATH:/opt/tomcat/bin
2 注銷,重新登錄後生效
在終端里,以命令行方式來配置網路
常用命令: ifconfig , netstat 等
默認地,Ubuntu 下面不帶 ifconfig 命令
需要使用 apt 軟體包管理器
apt install net-tools 安裝一個軟體包
apt remove net-tools 移除一個軟體包
apt search xxx 搜索
apt list | grep xxx 列表
如果出現:
E: 無法定位軟體包問題」
解決:輸入 sudo apt-get update 更新一些軟體源。
1 查看網路配置
ifconfig
其中,if 表示 interface 網路介面
會列出所有的網路介面,及各個介面的狀態
2 開啟/禁用網路
sudo ifconfig xxx up
sudo ifconfig xxx down
vi / vim , 一個基於控制台的文本編輯器
gedit , 一個基於GUI的文本編輯器
其中,vim 是 vi 的升級版, 演示使用 vim 命令
1 打開文本編輯
vim abc.txt
如果目標文件存在,則打開編輯;如果不存在,會新建一個文件
如果系統上沒有 vim ,就安裝一下:
sudo apt install vim
2 切換模式
編輯模式 Insert Mode: 按 i 鍵
命令模式 Command Mode: 按 ESC 鍵
3 退出編輯
1、按 ESC 鍵,進入命令模式
2、輸入 :wq 保存並退出
3、輸入 :q 退出
4、輸入 :q! 強制退出 ( 放棄保存 )
Linux文本文件的編輯
1 桌面環境:gedit
2 終端環境:
- 少量修改 : vim
- 大量修改 : 在 Windows上編輯,然後上傳到Linux
推薦:在 Windows上編輯,然後上傳到 Linux
使用 notepad ++ 或者其他的專業編輯器
文本文件的換行符
Windows : \r\n
Linux : \n
可以在 Notepad ++ 里觀察到此區別
視圖 | 顯示符號 | 顯示行尾符
換行符的轉換:
編輯 | 文檔格式轉換 | 轉換為 UNIX格式
注意:只有在編輯 SHELL 腳本時,才需要轉換
其他格式的文件一般都不需要轉換,如*.xml, *.java
在 Ubuntu上面運行:
dos2unix xxx.sh
也可以將 xxx.sh轉成 UNIX的換行風格( \n )
如果系統里沒有這個命令,可以安裝一下:
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:當一個程序運行起來,在操作系統內創建一條記錄,
用於描述和控制它的運行
比如,打開多個 notepad.exe ,則得到多個進程
查看進程命令:
ps -ef
其中,各個欄位的含義:
UID : 執行者
PID : 進程ID
PPID : 父進程ID
STIME : 啟動時間
CMD : 啟動時調用的命令行
㈡ 在ubuntu中,sudo apt-get install -f是干什麼用的
sudo apt-get -f install,修復安裝。
在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因為它是Ubuntu通過新立得安裝軟體的常用工具命令。
常用的APT命令參數:
apt-cachesearchpackage,搜索軟體包
apt-cacheshowpackage,獲取包的相關信息,如說明、大小、版本等
sudoapt-getinstallpackage,安裝包
sudoapt-getinstallpackage--reinstall,重新安裝包
sudoapt-getremovepackage,刪除包
sudoapt-getremovepackage--purge,刪除包、包括配置文件等
sudoapt-getupdate、更新源
sudoapt-getupgrade、更新已安裝的包
(2)ubuntu軟連接命令擴展閱讀
sudo: Executing Commands with Elevated Privileges 執行命令特權 sudo是允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,如halt,reboot,su等等。
這樣不僅減少了root用戶的登陸 和管理時間,同樣也提高了安全性。Sudo不是對shell的一個代替,它是面向每個命令的。
㈢ Ubuntu中奇怪的命令錯誤提示.
我是給系統新裝了一個python導致的這個問題。按照網上教程的操作執行了這樣兩步驟:
sudoln-sf/usr/local/bin/python3/usr/bin/python3
sudoln-sf/usr/local/bin/pip3/usr/bin/pip3
之後就出現了和你一樣的問題,而且Ctrl+Alt+t也無法調用出終端。這個local下的python3是我新裝的python3(python3.6.5)
解決辦法是:找到系統之前自帶的python3(python3.5.2)然後創建軟連接指回去。sudoln-sf/usr/bin/python3.5/usr/local/bin/python3
sudoln-sf/usr/bin/python3.5/usr/bin/python3
另外如果要安裝新的更高版本的python,可以使用pyenv來管理和安裝不同版本的python。
參考;網頁鏈接
㈣ .ln文件是linux下專有的還是Unix專有的,為什麼有的.ln文件在Ubuntu中無法運行
ln相當於Windows里的快捷方式,你把快捷方式拷到ubuntu裡面,當然不能運行咯 。
你要找到快捷方式所鏈接的源文件拷貝過去才能運行。
㈤ ubuntu鎬庢牱寮鍚痵sh
1.棣栧厛鏌ョ湅Ubuntu鎴杁eepin鉶氭嫙鏈虹殑IP鍦板潃錛
鍛戒護錛歩fconfig | grep inet
2.鍊樿嫢Ubuntu鎴杁eepin娌℃湁寮鍚22鍙風鍙f槸涓嶈兘榪炴帴涓奡SH鎴栬匵Shell絳夎蔣浠訛紝鎵浠ラ渶瑕佹垜浠鎵撳紑SSH鏈嶅姟錛屽紑鍚22絝鍙o紝鎵ц屼互涓嬪懡浠わ細
sudo apt-get install openssh-server
sudo apt-get install ufw
sudo ufw enable
sudo ufw allow 22
3.鍙浠ヤ嬌鐢ㄤ互涓嬩袱縐嶆柟娉曟煡鐪嬫槸鍚﹀紑鍚浜22鍙風鍙o細(鍙戠幇絝鍙fゆ椂鐨勭姸鎬侀兘涓篖ISTEN錛屽嵆涓哄紑鍚鐘舵侊級
netstat -ntlp | grep 22
lsof -i:22
㈥ Ubuntu緋葷粺涓杞浠跺畨瑁呯殑鍛戒護灝忕粨
涓鑸鐨勫畨瑁呯▼搴忔湁涓夌嶏細
.deb鍜.rpm榪2涓瀹夎呮枃浠
.boudle榪欐槸浜岃繘鍒跺畨瑁呮枃浠
.tar.gz鏂囦歡鏄鍘嬬緝鍖咃紝涓.rar鍜.zip鍘嬬緝鍖呬竴鏍鳳紝瀹夎呮ょ被鏂囦歡闇瑕佸厛瑙e帇
1.apt-get 鏂瑰紡瀹夎
鏅閫氬畨瑁咃細
浠g爜濡備笅:
sudo apt-get install xxx淇澶嶅畨瑁咃細
浠g爜濡備笅:
sudo apt-get -f install xxx閲嶆柊瀹夎咃細
浠g爜濡備笅:
sudo apt-get --r reinstall xxx2.dpkg 鏂瑰紡瀹夎
鏅閫氬畨瑁咃細
浠g爜濡備笅:
sudo dpkg -i package_name.deb婧愮爜瀹夎咃紙.tar,tar.gz,tar.bz2.tar.Z錛
銆姝ょ被綾繪枃浠朵竴鑸鏄錛氭簮鐮佹垨鑴氭湰.濡傛灉鏄婧愮爜鐨勮瘽錛屼細鏈塺eadme綾葷殑璇存槑鏂囦歡錛屽憡璇変綘闇瑕佷緷璧栭偅浜涘簱鏂囦歡浠ュ強濡備綍緙栬瘧婧愮爜錛岀収鐫鍋氬氨濂戒簡錛 鑴氭湰鐨勫眳澶氾紝涓鑸浼氭湁鍙銆install 鎴栬 setup 涔嬬被鍚嶅瓧鐨勬枃浠 棣栧厛瑙e帇婧愮爜鍘嬬緝鍖咃紝鐒跺悗閫氳繃 tar 鍛戒護鏉ュ畬鎴(鍙浠ユ寚瀹氱洰褰曞湪鏈鐨勫姞涓娿絀烘牸 /鐩褰曞悕縐)
* a. 瑙e帇
浠g爜濡備笅:
xx.tar.gz : tar zxf xx.tar.gz* b. 瑙e帇
浠g爜濡備笅:
xx.tar.Z : tar zxf xx.tar.Z* c. 瑙e帇
浠g爜濡備笅:
xx.tgz : tar zxf xx.tgz* d. 瑙e帇
浠g爜濡備笅:
xx.bz2 : bunzip2 xx.bz2* e. 瑙e帇
浠g爜濡備笅:
xx.tar : tar xf xx.tar鐒跺悗榪涘叆鍒拌В鍘嬪嚭鐨勭洰褰曚腑錛岀劧鍚 cd 榪涘叆瑙e帇鍚庣殑鐩褰曪紝杈撳叆銆ls 鏌ョ湅鏈夋病鏈夈install 鏂囦歡銆 涓鑸渚濇℃墽琛
浠g爜濡備笅:
./configuremake
sudo make install
鍗沖彲瀹屾垚瀹夎.