Linux安全基礎:shell及一些基礎命令

来源:http://www.cnblogs.com/BaoLeri/archive/2016/08/28/5815446.html
-Advertisement-
Play Games

1.什麼是shell?Shell是用戶和Linux操作系統之間的介面。Linux中有多種shell,其中預設使用的是Bash。 2.shell的分類(1)bash bash shell 是 Bourne shell 的一個免費版本,它是最早的 Unix shell,包括許多附加的特點。Bash 有可 ...


1.什麼是shell?
Shell是用戶和Linux操作系統之間的介面。
Linux中有多種shell,其中預設使用的是Bash。

2.shell的分類
(1)bash
bash shell 是 Bourne shell 的一個免費版本,它是最早的 Unix shell,包括許多附加的特點。Bash 有可編輯的命令行,可以回查歷史命令,支持 tab 鍵補齊以使用戶避免輸入長的文件名。
(2)csh
C shell 使用的是“類C”語法,借鑒了 Bourne shell 的許多特點,只是內部 shell 命令集有所不同。
(3)ksh
Korn shell 的語法與 Bourne shell 相同,同時具備了 C shell 的易用特點。許多安裝腳本都使用 ksh ,即使您不把它作為您的主 shell,您也應該在系統中安裝它。
(4)tcsh
TC shell 是 C shell 的一個增強版本,與 C shell 完全相容。
(5)zsh
Z shell 是 Korn shell 的一個增強版本,具備 bash shell 的許多特色。


3.shell基礎
(1)Redhat Linux系統預設的shell是bash。
(2)對普通用戶用$作提示符,對超級用戶用#作提示符。
(3)查看當前系統支持的shell:cat /etc/shells
(4)查看當前的bash版本:echo $0
(5)查看當前shell的版本信息:bash --version


4.shell控制台使用方法
(1)什麼是“控制台”console?
控制台就是使用字元操作界面的人機介面。
(2)操作控制台
Linux一般有6個虛擬控制台
按Ctrl-Alt-(F1-F6)來實現虛擬控制台的選擇。F2到F5是命令行界面,F1是圖形化界面。
從一個控制台切換到新的虛擬控制台以後,linux也會先顯示登錄提示符,就象第一次登錄一樣。在裝入另一個命令解釋器之前,也會詢問用戶名和口令。 所以,我們可以在不同的控制台以不同的用戶身份登錄,更方便了用特定的身份執行特定的操作。當用戶從一個虛擬控制台切換到一個新的虛擬控制台以後,在原來 那個控制台運行的程式將繼續運行。
(3)虛擬控制台的優點
當一個進程出錯鎖住輸入時可以切換到其他虛擬控制台來終止這個進程。
(4)如果想啟動後不讓系統在圖形下登陸,直接進入字元狀態,則可以通過修改/etc/inittab文件實現,方法如下(KDE下操作):
vim /etc/inittab文件看到如下內容:
  #
  # inittab This file describes how the INIT process should set up
  # the system in a certain run-level.
  #
  # Author: Miquel van Smoorenburg,
  # Modified for RHS Linux by Marc Ewing and Donnie Barnes
  #
  
  # Default runlevel. The runlevels used by RHS are:
  # 0 - halt (Do NOT set initdefault to this)
  # 1 - Single user mode
  # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
  # 3 - Full multiuser mode
  # 4 - unused
  # 5 - X11
  # 6 - reboot (Do NOT set initdefault to this)
  #
  id:5:initdefault:
  
  將上面最後一行的5改成3,就能讓系統不在圖形下登陸,對其它幾個數字我也作一下介紹:
  0:停機(不要設置為啟動預設級別)
  1:單用戶模式
  2:多用戶,無NFS(如果您沒有配置網路,該級別與3一樣)
  3:完全多用戶模式
  4:不使用
  5:圖形模式
  6:重啟(不要設置為啟動預設級別)


5.系統的登錄流程
BIOS啟動引導階段:從MBR中裝載啟動引導管理器,並運行該啟動引導管理。
GRUB為例啟動引導階段:讀取/boot/grub.conf文件並顯示啟動菜單
內核階段:掛載根文件系統
Sys V init 初始化階段:啟動/sbin/init程式和讀取/etc/inittab文件


6.基礎命令
(1)ls命令
ls-a查看顯示一般文件和.開頭的隱藏文件
ls-l查看更詳細的文件資料,可查看文件許可權。
ls-F在列出的文件或目錄名稱後加一符號,例如可執行文件加*,目錄則加/。
(2)cd命令
進出目錄的命令。
cd cd~ 回到home目錄
cd - 回到之前操作過的目錄
cd .. 回到上一層目錄
cd / 回到根目錄
cd ../../ 回到上兩級目錄
(3)mkdir命令
創建文件
mkdir -p /abc/bc/a 多層目錄創建
touch 1.txt新建一個名為1的txt文件
(4)rmdir 命令
刪除已存在的空目錄
(5)mv移動目錄或給文件重命名
mv /tmp/xx.txt /root把tmp目錄下的xx.txt文件移動到root目錄下
mv xx.txt yy.txt把xx.txt重命名為yy.txt
(6)cp命令
複製文件或文件夾
cp -r 源文件 目的文件
例:cp /abc/1.txt /cd 把abc文件夾里的1.txt複製到cd里
-r是遞歸 連同子目錄一起複制。
(7)rm命令
刪除文件命令
rm -i 系統會詢問我們是否刪除該文件
rm -r 連同子目錄一起刪除
rm -f 不經確認強制刪除文件
(8)cat命令
顯示或鏈接一般的ascii文本文件
cat a.txt 顯示a.txt這個文件的內容
cat a.txt b.txt 依順序顯示a.txt b.txt里的內容
cat a.txt b.txt>c.txt把a.txt b.txt的內容結合起來再重新定向到c.txt中。
cat -n顯示行號
cat -b空行不顯示行號
cat -A顯示製表符
head -n 5 ip.txt顯示ip.txt文件里的前5行內容
tail -n 5 ip.txt顯示ip.txt文件里的後5行內容
pwd顯示當前路徑
more顯示一般的文本文件,可翻頁。比cat理想。
(9)用戶及用戶組管理命令
新建用戶和刪除用戶
useradd 用戶名 -p 123
userdel 用戶名
新建組合刪除組
groupadd 組名
groupdel 組名
passwd改密碼
超級用戶可改其他用戶的密碼
passwd 其他用戶用戶名
(10)su su- 和sudo的區別
su:環境變數不改變,用的不是root的環境變數。離開當前用戶身份exit。
su-:全部切換過來,用的是root的環境變數
sudo:暫時提高該命令許可權
(11)文件許可權的總結
User宿主 group組 other其他
r是read許可權,值為4
w是write許可權,值為2
x是可執行許可權,值為1
rwx是可讀可寫可執行。
rws是暫時提升許可權執行。
rwt可讀可寫不可刪。
(12)chmod命令
修改目錄或文件的許可權的命令
chmod u+x ip.txt給ip這個文件加可執行命令。
chmod -R 遞歸加權或降權
(13)進程及任務管理命令
ps命令-----最基本也是最強大的進程查看命令
ps -e 顯示所有進程
-f 全格式
-l 長格式
top命令-----動態顯示進程信息
zombie 僵屍進程、掛死進程
wa I/O讀寫
id CPU空閑空間
kill命令-----刪除進程
kill -q 強制刪除
killall httpd刪除所有httpd的進程
(14)磁碟及文件系統管理命令
df查看磁碟利用率
-k顯示當前磁碟剩餘的磁碟空間
-h顯示為符合人類閱讀習慣
du查看文件大小

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前瞻: 1. 安裝Gnome桌面版X86_64版本的CentOS 7系統(或者相對應版本的Red Hat等)。 2. 下載安裝並激活Xmanager Enterprise 5用於對linux系統的連接訪問以及數據傳輸等。 3. 下載解壓縮oracle 11g r2 for linux的程式包,並將其 ...
  • 視圖 視圖是一個虛擬表(非真實存在),其本質是【根據SQL語句獲取動態的數據集,併為其命名】,用戶使用時只需使用【名稱】即可獲取結果集,並可以將其當作表來使用。 SELECT * FROM ( SELECT nid, NAME FROM tb1 WHERE nid > 2 ) AS A WHERE ...
  • 一、概述 1、什麼是資料庫 ? 答:數據的倉庫,如:在ATM的示例中我們創建了一個 db 目錄,稱其為資料庫 2、什麼是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ? 答:他們均是一個軟體,都有兩個主要的功能: a. 將數據保存到文件或記憶體 b. 接收特定的 ...
  • 1.進入安裝目錄 cd E:\ZYXDocument\Software\mariadb-10.0.20-win32\bin 2.安裝mysql服務將E:\ZYXDocument\Software\mariadb-10.0.20-win32\my.ini 放入 C:\Windows中 mysqld -... ...
  • Ubuntu 16.04 下使用Xampp 1. 什麼是Xampp? XAMPP(Apache+MySQL+PHP+PERL) 是一個功能強大的建站集成軟體包。這個軟體包原來的名字是 LAMPP,但是為了避免誤解,最新的幾個版本就改名為 XAMPP 了。它可以在Windows、Linux、Solar ...
  • Kali Linux在安裝完virtualbox後,打開虛擬機會出現:kernel driver not installed (rc=1908)錯誤提示,根據提示,大概可以看出是由於缺少內核模塊引起的,因為VirtualBox預設是在DKMS內核中運行,所以系統需要有DKMS的支持。所以最根本的是先 ...
  • 1.LCD即液晶顯示器,控制原理是控制其中的電子槍,在n行*n列的屏幕上投射不同顏色從而形成圖像 2.編程步驟: ①打開LCD背光將LCD背光對應的GPIO設置為禁止上拉(GPxUP相應位寫入1),選擇output類型(GPxCON相應位寫入01),輸出為高電平(GPxDAT相應位寫入1)。 ②打開 ...
  • 1.ifconfig查看和配置網路介面信息(1)設ip地址ifconfig eth0 192.168.0.1(2)暫時關閉或啟用網卡ifconfig eth0 downifconfig eth0 up(3)設子網掩碼ifconfig eth0 netmask 255.255.255.0(4)查看第一 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...