要充分理解本文,必須具備Windows 環(huán)境下桌面應(yīng)用程序的工作經(jīng)驗(yàn),我認(rèn)為讀者對(duì)如何使用 Linux 桌面有一個(gè)基本的了解。使用一個(gè)運(yùn)行的 Linux 計(jì)算來(lái)機(jī)探討本文的概念和示例是很有幫助的。

創(chuàng)新互聯(lián)主營(yíng)晉安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開(kāi)發(fā),晉安h5成都微信小程序搭建,晉安網(wǎng)站營(yíng)銷推廣歡迎晉安等地區(qū)企業(yè)咨詢
有時(shí)候第一次在 Linux 上運(yùn)行一個(gè)應(yīng)用程序需要一點(diǎn)額外工作。有些應(yīng)用程序,比如服務(wù)器服務(wù),可能無(wú)法安裝為服務(wù),因此您需要從命令行啟動(dòng)這些應(yīng)用程序。對(duì)于啟動(dòng)這些應(yīng)用程序的用戶帳戶而言,需要在應(yīng)用程序文件中設(shè)置執(zhí)行許可標(biāo)志 (x)。
Linux 在內(nèi)核空間或用戶空間運(yùn)行進(jìn)程。用戶空間 是操作系統(tǒng)的區(qū)域,應(yīng)用程序通常在此運(yùn)行。簡(jiǎn)單地說(shuō),每個(gè)用戶帳戶有其自己的用戶空間,應(yīng)用程序在這個(gè)領(lǐng)域內(nèi)運(yùn)行。
默認(rèn)情況下,只有 root 用戶有權(quán)訪問(wèn)內(nèi)核空間。root 用戶 是 Linux 中的超級(jí)用戶,相當(dāng)于 Windows 中的管理員帳戶。在 root 用戶帳戶下運(yùn)行應(yīng)用程序可能會(huì)引起安全風(fēng)險(xiǎn),是不可取的。
很多服務(wù)器服務(wù)需要 root 權(quán)限啟動(dòng)服務(wù)。然而,服務(wù)啟動(dòng)后,root 帳戶通常會(huì)將其移至服務(wù)帳戶。嚴(yán)格地說(shuō),Linux 中的服務(wù)帳戶 才是標(biāo)準(zhǔn)的用戶帳戶。主要區(qū)別是服務(wù)帳戶僅用于運(yùn)行一個(gè)服務(wù),而不是為任何實(shí)際登錄的用戶準(zhǔn)備的。
您可以使用 chmod 命令在一個(gè)文件中設(shè)置執(zhí)行權(quán)限。在 Linux 中,umask 設(shè)置通常用來(lái)防止下載的文件被執(zhí)行,也有充分的理由相信,因?yàn)樗兄诰S護(hù) Linux 計(jì)算機(jī)的安全性。
大多數(shù) Linux 發(fā)行版具有一個(gè)值為 022 的 umask 設(shè)置,這意味著,默認(rèn)情況下一個(gè)新文件權(quán)限設(shè)置為 644。權(quán)限的數(shù)字表示形式采用讀 (4)、寫 (2)、執(zhí)行 (1) 的格式。因此,默認(rèn)權(quán)限為 644 的應(yīng)用程序下載意味著文件所有者有讀寫權(quán)限,而組用戶和其他用戶只有讀權(quán)限。
例如,為每個(gè)人賦予一個(gè)文件的執(zhí)行權(quán)限,使用 chmod a+x 命令。a 表示所有人,加號(hào) (+) 表示添加,而 x 表示執(zhí)行。同樣地,如果應(yīng)用程序是一個(gè)服務(wù)器服務(wù),您應(yīng)該確保只有授權(quán)帳戶才有權(quán)執(zhí)行此服務(wù)。
如果一個(gè)應(yīng)用程序能夠在標(biāo)準(zhǔn)用戶帳戶權(quán)限下運(yùn)行,但只有特定組中的用戶才需要使用它,您可以將該組所有者權(quán)限設(shè)置為可執(zhí)行,然后將這些用戶添加到該組中。
更具體地說(shuō),您可以在一個(gè)可執(zhí)行文件中設(shè)置訪問(wèn)控制列表 (ACL) 權(quán)限,賦予特定用戶或組權(quán)限來(lái)運(yùn)行該應(yīng)用程序。使用 setfacl 實(shí)用工具設(shè)置 ACL 權(quán)限。
對(duì)于這些需要以 root 用戶啟動(dòng)進(jìn)程的應(yīng)用程序,比如服務(wù)器服務(wù),您有幾個(gè)選擇。總結(jié)了允許用戶執(zhí)行需要 root 權(quán)限的服務(wù)器服務(wù)的各種選項(xiàng)。
作為 root 用戶 不推薦用于服務(wù)器服務(wù)。當(dāng)用戶已經(jīng)知道 root 密碼而且應(yīng)用程序泄露不是首要關(guān)注問(wèn)題時(shí),可用于應(yīng)用程序。
SetUID 由于安全問(wèn)題,不推薦使用。SetUID 允許標(biāo)準(zhǔn)用戶以另一個(gè)用戶方式,比如 root 用戶,執(zhí)行一個(gè)文件。
sudo 很常用,并且被認(rèn)為是一個(gè)很好的實(shí)踐。sudo 授予一個(gè)用戶或組成員權(quán)限以執(zhí)行可能額外需要 root 權(quán)限的文件。該用戶不需要知道 root 密碼。
帶有文件權(quán)限的標(biāo)準(zhǔn)用戶帳戶 在一個(gè)文件上為用戶所有者、組所有者或其他人(所有人)設(shè)置執(zhí)行權(quán)限。這是授予那些不需要 root 權(quán)限來(lái)執(zhí)行應(yīng)用程序的用戶的常用方法。
帶有 ACL 權(quán)限的標(biāo)準(zhǔn)用戶帳戶 使用較少,但是如果您不想授予一個(gè)用戶 sudo 訪問(wèn)或者更改文件的權(quán)限,這也是一個(gè)可行的解決方案。在一個(gè)文件上使用 setfacl 命令,您可以授予一個(gè)特定用戶或用戶組執(zhí)行該文件的權(quán)力。
在管理 Linux 服務(wù)器時(shí),從命令行運(yùn)行應(yīng)用程序是一項(xiàng)基本的任務(wù)。很多應(yīng)用程序使用 shell 腳本(類似于 Windows 批處理文件 .bat)來(lái)啟動(dòng)應(yīng)用程序并執(zhí)行其他任務(wù),比如設(shè)置變量以及為其他用戶分配進(jìn)程。例如,應(yīng)用程序可能需要一個(gè) Java? Virtual Machine (JVM) 來(lái)執(zhí)行。那樣的話,shell 腳本可以設(shè)置適當(dāng)?shù)沫h(huán)境變量,然后執(zhí)行 Java 命令來(lái)運(yùn)行 Java Archive (JAR) 或類文件。這同樣適用于使用 Perl、Python、甚至 C# 的應(yīng)用程序。(當(dāng)然,C# 編譯的應(yīng)用程序可以在 Linux 上運(yùn)行)
從命令行或者 shell 提示符執(zhí)行應(yīng)用程序的一個(gè)常用方法是使用 ./ 命令。如果您在 Linux 中使用句號(hào) (.) 和正斜杠 (/),就意味著告訴環(huán)境您想要以可執(zhí)行文件運(yùn)行該文件。例如,運(yùn)行一個(gè)名為 myapp 的可執(zhí)行文件,您可以使用 ./myapp 命令。同樣地,您可以在文件名之前加上語(yǔ)言環(huán)境,比如:
sh php python perl java
但更多情況下,套裝應(yīng)用程序使用 shell 腳本,以 #! 符號(hào)設(shè)置環(huán)境變量提供該語(yǔ)言的運(yùn)行時(shí)可執(zhí)行路徑,比如 #!/usr/bin/python。您也應(yīng)該熟悉這種方法。
清單 1 使用 catalina.sh 默認(rèn)腳本通過(guò) ./ 方法啟動(dòng) Apache Tomcat 應(yīng)用程序服務(wù)器。然后,使用 sh 方法啟動(dòng)服務(wù)器。因?yàn)槟J(rèn)端口是 8080,標(biāo)準(zhǔn)用戶不需要對(duì)其進(jìn)行特別修改就可以啟動(dòng)該服務(wù)。
運(yùn)維管理命令
netstat -nap 查看系統(tǒng)正在開(kāi)放的端口
netstat -tnlp | grep 80 查看哪個(gè)服務(wù)占用了80端口(-t表示只列出tcp協(xié)議的連接)
netstat -anptu | grep tcp 查看當(dāng)前開(kāi)放的所有tcp端口
rm -r 文件名 刪除文件 (-r 遞歸) (-f 強(qiáng)制)
rm -rf ./* 刪除當(dāng)前目錄里的所有文件
mv 文件路徑 目標(biāo)路徑 移動(dòng)文件到指定目錄
mv 文件名a 文件名b 將文件名a重命名為文件名b
mv ./* ../ROOT/ 把當(dāng)前目錄下的所有文件移動(dòng)到上級(jí)目錄的ROOT文件夾里面
cp 起始路徑 目標(biāo)路徑 將一個(gè)文件從一個(gè)地址復(fù)制到另一個(gè)地址
cp 文件1 文件2 將文件1復(fù)制一份命名為文件2
ssh 遠(yuǎn)程主機(jī)的用戶名@遠(yuǎn)程主機(jī)ip 遠(yuǎn)程登錄服務(wù)器(如果無(wú)法登陸,刪除本地.ssh文件里的known_hosts文件里的內(nèi)容)
scp -r 本地路徑 user@ip:服務(wù)器路徑 將本地文件傳到服務(wù)器
scp user@ip:服務(wù)器路徑 本地路徑 將服務(wù)器文件傳到本地
chmod -R 777 文件路徑 賦予指定文件所有權(quán)限
chmod -R 777 . 以遞歸的方式修改當(dāng)前目錄下所有文件和子目錄的權(quán)限
rpm -qa | grep httpd 查詢是否安裝httpd服務(wù),并列出安裝文件
rpm -e 軟件名 查詢某個(gè)軟件是否被安裝 (只有通過(guò)yum安裝的才能查詢到)
ps -ef | grep java 顯示當(dāng)前進(jìn)程及參數(shù),并過(guò)濾出java程序的進(jìn)程 { PID表示這個(gè)程序的ID,PPID表示這個(gè)程序的父程序的ID }
kill PID 立即終止這個(gè)進(jìn)程
crontab -e 編寫計(jì)劃任務(wù)(語(yǔ)法格式:分 時(shí) 日 月 周 需要執(zhí)行的命令)
mkdir a 創(chuàng)建一個(gè)名稱為a的文件夾
touch 文件名.文件格式 創(chuàng)建一個(gè)帶后綴的文件
du -sh 文件路徑 查看指定路徑的文件的大小
grep "關(guān)鍵詞" 文件名 查找文件中帶這個(gè)關(guān)鍵詞的文件
系統(tǒng)維護(hù)命令
service 服務(wù)名 start/stop/restart 在deb包管理的系統(tǒng)中開(kāi)關(guān)服務(wù)的命令
systemctl start/stop/restart 服務(wù)名 在rpm包管理的系統(tǒng)中開(kāi)關(guān)服務(wù)的命令
man 命令 解釋這個(gè)命令
history 數(shù)字 顯示最近使用的命令
apt-get install 命令符號(hào) 安裝命令程序
apt-get purge 命令符號(hào) 卸載命令程序
which 程序名 搜索某個(gè)程序路徑
whereis 軟件名 搜索某個(gè)軟件路徑
echo $PATH; 查看標(biāo)準(zhǔn)路徑目錄
dmesg -T 顯示系統(tǒng)接入設(shè)備日志
sudo nautilus 文件路徑 以管理員身份打開(kāi)文件夾進(jìn)行刪改
df -h 查看磁盤使用情況
fdisk -l 查看分區(qū)具體情況
route 檢查自己的路由表
traceroute url 檢查本機(jī)到url的完整路徑
git clone github地址 從github下載文件到本地
常用路徑的作用
cd /bin 進(jìn)入根目錄下的bin目錄
cd bin 進(jìn)入當(dāng)前目錄下的bin目錄
/etc/init.d 系統(tǒng)的啟動(dòng)文件目錄,可以使用start啟動(dòng)著里面的文件 如:./bluetooth start 啟動(dòng)藍(lán)牙
/usr/share / 從源安裝的軟件的文件默認(rèn)存放地址
windows系
快捷鍵
Alt + Esc 切換活動(dòng)窗口
Alt + F4 關(guān)閉當(dāng)前程序
win + D 顯示和隱藏桌面
win + I 打開(kāi)設(shè)置
win + M 最小化所有窗口
win + Tab 打開(kāi)任務(wù)視圖
Ctrl + win + D 添加虛擬桌面
Ctrl + win + 切換虛擬桌面
Ctrl + win + F4 關(guān)閉你正在使用的虛擬桌面
打開(kāi)服務(wù)配置
gpedit.msc 打開(kāi)組策略
services.msc 打開(kāi)服務(wù)控制
sysdm.cpl 打開(kāi)系統(tǒng)屬性(配置環(huán)境變量等操作)
chcp 65001 設(shè)置cmd為utf8字符集
c:ProgramDataMicrosoftWindowsStart MenuPrograms windows啟動(dòng)程序路徑
在cmd中光標(biāo)只有在當(dāng)前行才能 ctrl + v 進(jìn)行粘貼
windows下的ssh的使用
C:ProgramDatassh sshd_config配置文件所在目錄,修改這個(gè)文件可以更改ssh連接到win后所在的目錄 #ChrootDirectory none 改成 ChrootDirectory C: 然后重啟ssh server服務(wù),這樣用linux連接到win后就會(huì)到 C: 目錄下
將linux上的 a.txt文件 復(fù)制到windows的 c盤的a文件夾中
scp user@ip:/home/username1/視頻/a.txt /c:/a ( -r 遞歸傳送 )
將windows的 c盤的a文件夾中的c.txt文件 復(fù)制到linux的中
scp /c:/a/c.txt user@ip:/home/username1/視頻/a ( -r 遞歸傳送)
只能在windows系統(tǒng)上操作上面的兩條命令,win中的user是用戶文件夾里的文件夾名字。
在Mysql安裝的目錄中找到bin目錄,復(fù)制此路徑到系統(tǒng)屬性的‘高級(jí)’中的環(huán)境變量path里,這樣就可以在cmd中運(yùn)行 mysql -u root -p
Dos命令
不同版本的Linux命令數(shù)量不一樣,這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們?cè)谙到y(tǒng)中的作用分成幾個(gè)部分介紹給,通過(guò)這些基礎(chǔ)命令的學(xué)習(xí)可以進(jìn)一步理解Linux系統(tǒng):
安裝和登錄命令:login、shutdown、halt、reboot、mount、umount、chsh。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統(tǒng)管理相關(guān)命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last。
網(wǎng)絡(luò)操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup。
學(xué)習(xí)linux注意事項(xiàng)
1、Linux嚴(yán)格區(qū)分大小寫。
2、Linux所有的存儲(chǔ)設(shè)備都必須掛載之后用戶才能使用,包括硬盤、U盤和光盤。
3、Windows下的程序不能直接在Linux中安裝和運(yùn)行。
具體步驟如下:
1、首先我們?cè)诿钚羞\(yùn)行程序需要借助jdk的環(huán)境依賴,打開(kāi)jdk包。
2、接下來(lái)我們需要打開(kāi)運(yùn)行窗口,然后在運(yùn)行窗口中輸入cmd命令,如下圖所示
3、在CMD命令行界面中我們輸入cd命令進(jìn)入到程序文件所在的目錄,如下圖所示
4、接下來(lái)執(zhí)行命令對(duì)程序文件進(jìn)行編譯,如下圖所示
5、編譯完畢以后我們會(huì)在文件夾下面看到一個(gè)class文件,這個(gè)就是虛擬機(jī)編譯完產(chǎn)生的文件,如下圖所示
6、完成上述步驟后,即可在linux命令行中執(zhí)行應(yīng)用程序。
linux命令有內(nèi)部命令和外部命令之分。內(nèi)部命令實(shí)際上是shell程序的一部分,其中包含的是一些比較簡(jiǎn)練的linux系統(tǒng)命令,這些命令由shell程序識(shí)別并在shell程序內(nèi)部完成運(yùn)行,通常在linux系統(tǒng)加載運(yùn)行時(shí)shell就被加載并駐留在系統(tǒng)內(nèi)存中。外部命令是linux系統(tǒng)中的實(shí)用程序部分,因?yàn)閷?shí)用程序的功能通常都比較強(qiáng)大,所以它們包含的程序量也會(huì)很大,在系統(tǒng)加載時(shí)并不隨系統(tǒng)一起被加載到內(nèi)存中,而是在需要時(shí)才將其調(diào)進(jìn)內(nèi)存。通常外部命令的實(shí)體并不包含在shell中,但是其命令執(zhí)行過(guò)程是由shell 程序控制的。shell程序管理外部命令執(zhí)行的路徑查找、加載存放,并控制命令的執(zhí)行。
標(biāo)題名稱:linux命令大型程序 Linux編程大作業(yè)
路徑分享:http://chinadenli.net/article24/hjigje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、建站公司、電子商務(wù)、軟件開(kāi)發(fā)、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)