Linux文件管理和輸入輸出重定向

文件管理

Bash執行命令

passwd

passwd

?普通用戶修改密碼

passwd robinkool

?root用戶管理賬戶密碼

passwd -d robinkool

?root用戶刪除普通用戶密碼

file

file /bin/file

cat

cat option 文件
cat -A /etc/hosts
#-A選項等于-VET

cat /etc/hosts /etc/fstab

?一次性查看多個文件

head

head option 文件
head /etc/profile#只查看前四行
head -n 4 /etc/profile

head -n-3 /etc/profile

查看所有內容除了最后三行

head -n3 /etc/hosts /etc/fstab

?查看多個文件前三行

tail

tail /etc/profile #默認查看尾十行

tail -n +4 /etc/profile

?查看從第四行到最后所有內容

head -n 15 /etc/profile | tail -n 5tail -n +11 /etc/profile | head -n 5

截取文件11-15行 /etc/profile的兩種方法?

less

less /etc/profile
q=quit
上下方向鍵逐行查看
左右鍵左右翻頁
pageup和pagedown上下翻頁

wc

wc -l 輸出行數
wc -c 輸出字節數
wc -m 輸出字符串數
wc -L 顯示最長行的長度
wc -w 顯示單詞計數

echo

echo -n 不要追加換行
echo -e 啟用反斜杠轉義解釋
echo -E 抑制對反斜杠轉義的解釋

bashrc配置文件--持久化保存

seq -s + 10 #-s用法分隔符
grep username /etc/passwd
#如果顯示nologin則為不能登錄

手動創建用戶

#添加賬戶
vim /etc/passwd
zhangsan:x:1002:1002::/home/zhangsan:/bin/bash#添加組
vim /etc/group
zhangsan:x:1002:#添加密碼
vim /etc/shadow
#最后一行添加 明文為redhat
$6$FgUNKn74yoEDbcXD$pxDk9AEhsxkJGYi76Rv91zLy5LRns8olgAyGuNssQYG07ypaidhuX0gHAU4hrNi9Zp9A7vtMEvbyzCQ0e/gbk1::0:99999:7:::#準備家目錄
cp -r /etc/skel/ /home/zhangsan
#修改張三家目錄所屬有zhangsan用戶和組
chown zhangsan:zhangsan /home/zhangsan
ll -d /home/zhangsan#測試
ssh zhangsan@localhost

/usr 系統安裝的軟件、共享的庫

/usr/bin 用戶命令

/usr/sbin 系統管理命令

/usr/local 本地自定義軟件

/etc 系統配置文件

/var 系統可變數據如數據庫、緩存目錄、日志

/home 主目錄(家目錄)普通用戶存儲個人數據和配置文件的位置,每個用戶都有自己的位置,/home/robinkool

/root 管理員root的主目錄

/tmp 供臨時文件使用的全局可寫空間

/dev 設備文件,供系統訪問硬件

mkdir

mkdir dir00
mkdir dir01 dir02
mkdir -p dir00/dir01/dir02/dir03/dor04
隔兩層創建不存在的目錄使用-p

cp

cp /etc/hosts .
復制到當前位置cp /etc/hosts ./hosts-1
復制到當前位置并且重命名為hosts-1cp /etc/passwd /etc/host.conf .
復制多個文件到當前位置cp -r /etc/yum .
復制目錄用-r 復制etc下的yum目錄到當前位置cp -r復制目錄當目標位置有相同名稱目錄時,將源目錄放到相同目錄下,而不是覆蓋。

mv

mv hosts-1 /lab
移動單個文件mv passwd hosts /home/robinkool/lab
移動多個文件,目標位置只能是目錄mv host.conf host.conf-new
重命名mv lab /home/root
移動目錄

rm

rm hosts
刪除文件cp /etc/pki/ca-trust/extracted/java/cacerts .
rm cacerts
強制刪除具有寫入保護的文件rm -f cacerts
強制刪除文件 不會詢問rm -r /home/root/lab
遞歸刪除rm -rf
強制遞歸刪除

軟連接和硬鏈接

soft link 類似于Windows中的快捷方式,可以通過將占用空間較大源文件創建軟連接到原位置,然后將源文件移動到其余位置來節省磁盤空間。
在軟件包的源碼編譯安裝中,將軟件的服務創建軟連接到/usr/bin目錄下可以在全局啟動服務。
ln -s 原位置 連接名稱

rm mytmp
刪除軟連接時,連接名稱后面不能跟/分隔符
硬鏈接為普通文件,與源文件的inode號相同,可以通過多個文件名訪問同一個數據塊,任何一個文件發生改變,其余的也跟著改變。
ln hosts-1 hosts-2
ln默認創建硬連接

Linux的輸入和輸出重定向

輸出重定向到文件

獨立輸出

find /etc -name 'passwd'

?查找etc目錄下文件名是passwd的所有文件

find /etc -name 'passwd' 1>passwd.list
cat passwd.list
1>passwd.list可以省略1寫為 >passwd.list
1和>之間不能有空格

?將找到的名覆蓋寫入passwd.list中

find /etc -name 'passwd' >> passwd.list

?將找到的文件名追加到passwd.list中

find /etc -name 'passwd' 2>passwd.err

這里是因為用的root用戶沒有權限不足的問題,當使用cat passwd.err時顯示為空,如果切換為普通用戶就會看到錯誤信息

find /etc -name 'passwd' 2>/dev/null
設備文件/dev/null永遠為空

?將錯誤信息扔掉

這里看不到錯誤是因為錯誤信息被定向到空,但是是因為root用戶輸入的命令,所以沒有權限不足的錯誤信息。

正確信息(標準輸出)

  • 位置:直接顯示在終端(標準輸出,文件描述符 1

  • 內容find 命令找到的匹配文件路徑(如 /etc/passwd

錯誤信息(標準錯誤)

  • 位置:被重定向丟棄(2>/dev/null 表示丟棄所有錯誤)

  • 內容:權限不足、目錄不存在等錯誤(如 find: /etc/ssh: Permission denied

find /etc -name 'passwd' > passwd.all 2>&1

?將錯誤信息和正確信息覆蓋寫入到相同文件

find /etc -name 'passwd' >> passwd.all 2>&1

?將錯誤信息和正確信息追加寫入到相同文件

輸出重定向到程序

管道符

管道符(|)實現,將上一個命令的輸出作為標準輸入傳遞給下一個命令

ip a | grep 'ens160$' | awk '{print $2}'
hostname -I 也可以取ip

?獲取ens33網卡ip地址

管道符后的命令必須能夠接受標準輸入,才可以配合管道符使用。但是ls不接受管道傳遞的標準輸入。

echo /etc/passwd | ls -l

ls不接受所以只執行了ls -l

echo /etc/passwd | xargs ls -l

tee

> passwd.list
cat passwd.list
將空覆蓋寫入passwd.list 清空文件內容

find /etc -name 'passwd' 2>/dev/null | tee passwd.list
cat passwd.list

tee命令覆蓋保存到文件?

find /etc -name 'passwd' 2>/dev/null | tee -a passwd.list
cat passwd.list

tee命令追加保存到文件?

標準輸入重定向給程序

cat /etc/hosts
cat < /etc/hosts

cat << EOF
> hello
> world 
>EOF

shell讀取到EOF時,代表標準輸入完成?

?判斷一個命令是否接受標準輸入:最簡單的方式就是將文件內容作為標準輸入重定向給程序。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84315.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84315.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84315.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

檢查項目中的依賴是否有更新——npm outdated

項目中輸入 npm outdated如果出現package紅色 則是需要更新的插件 更新最新的插件 使用latest下面的版本 Package Current Wanted Latest Location 包的名字 項目當前的版本 ... 需要更新到的版本然后將Latest的版本復制到pakcea…

vSphere環境ubuntu24.04虛擬機從BIOS切換為EFI模式啟動

文章目錄 一、操作背景二、操作步驟1.配置本地鏡像倉庫(可選)2.確認當前分區是gpt分區3.創建EFI分區4.安裝和修改GRUB5.重啟配置生效 三、驗證EFI模式方法 1&#xff1a;檢查 /sys/firmware/efi 目錄方法 2&#xff1a;檢查 dmesg 啟動日志方法 3&#xff1a;使用 efibootmgr&a…

python打卡day48

import torch # 生成一個3x3的標準正態分布隨機張量 random_tensor torch.randn(3, 3) print("隨機張量:\n", random_tensor) 隨機張量: tensor([[-0.9343, -0.3254, 0.6991], [-1.7157, 1.7171, -0.4322], [ 0.6004, -1.1050, -0.2178]]) # …

推薦算法八股總結

從計算機視覺轉行搜廣推的第9天 1.youtubednn 推薦系統經典模型YouTubeDNN_推薦系統架構圖-CSDN博客文章瀏覽閱讀2.1k次&#xff0c;點贊28次&#xff0c;收藏34次。本文詳細介紹了YouTubeDNN推薦系統&#xff0c;包括其召回階段的多模型篩選策略&#xff0c;排序階段的復雜模…

EasyRTC音視頻實時通話功能在WebRTC與智能硬件整合中的應用與優勢

一、WebRTC與智能硬件整合趨勢? 隨著物聯網和實時通信需求的爆發式增長&#xff0c;WebRTC作為開源實時通信技術&#xff0c;為瀏覽器與移動應用提供免插件的音視頻通信能力&#xff0c;在智能硬件領域的融合應用已成必然趨勢。智能硬件不再局限于單一功能&#xff0c;對實時…

零基礎在實踐中學習網絡安全-皮卡丘靶場(第九期-Unsafe Fileupload模塊)(yakit方式)

本期內容并不是很難&#xff0c;相信大家會學的很愉快&#xff0c;當然對于有后端基礎的朋友來說&#xff0c;本期內容更加容易了解&#xff0c;當然沒有基礎的也別擔心&#xff0c;本期內容會詳細解釋有關內容 本期用到的軟件&#xff1a;yakit&#xff08;因為經過之前好多期…

生信服務器 | 做生信為什么推薦使用Linux服務器?

原文鏈接&#xff1a;生信服務器 | 做生信為什么推薦使用Linux服務器&#xff1f; 原文鏈接&#xff1a;生信服務器 | 做生信為什么推薦使用Linux服務器&#xff1f; ---- 原文鏈接&#xff1a;生信服務器 | 做生信為什么推薦使用Linux服務器&#xff1f; ---- 原文鏈…

OpenCV 圖像色彩空間轉換與摳圖

一、知識點: 1、色彩空間轉換函數 (1)、void cvtColor( InputArray src, OutputArray dst, int code, int dstCn 0, AlgorithmHint hint cv::ALGO_HINT_DEFAULT ); (2)、將圖像從一種顏色空間轉換為另一種。 (3)、參數說明: src: 輸入圖像&#xff0c;即要進行顏…

高斯列主元消去法——python實現

高斯列主元消去法 1. 高斯消去法 高斯消去法是一種求解線性方程組 A x b A\mathbf{x} \mathbf{b} Axb 的方法&#xff0c;通過逐步化簡增廣矩陣&#xff0c;將其變為上三角矩陣&#xff0c;從而方便求解未知數。 線性方程組的一般形式為&#xff1a; { a 11 x 1 a 12 x…

linux下安裝elasticsearch及ik分詞器

linux下安裝elasticsearch及ik分詞器 安裝版本 linux版本&#xff1a;centos7.5 es版本&#xff1a;elasticsearch-7.14.0-linux-x86_64.tar.gz 下載地址&#xff1a;https://www.elastic.co/downloads/past-releases#elasticsearch Ik版本&#xff1a;elasticsearch-analysi…

相機Camera日志分析之三十一:高通Camx HAL十種流程基礎分析關鍵字匯總(后續持續更新中)

【關注我,后續持續新增專題博文,謝謝!!!】 上一篇我們講了:有對最普通的場景進行各個日志注釋講解,但相機場景太多,日志差異也巨大。后面將展示各種場景下的日志。 通過notepad++打開場景下的日志,通過下列分類關鍵字搜索,即可清晰的分析不同場景的相機運行流程差異…

【配置篇】告別硬編碼:多環境配置、@ConfigurationProperties與配置中心初探

摘要 本文是《Spring Boot 實戰派》系列的第五篇&#xff0c;聚焦于企業級應用開發中至關重要的配置管理。文章將首先解決開發、測試、生產環境配置不同的痛點&#xff0c;詳細介紹 Spring Boot 的 Profile&#xff08;多環境配置&#xff09; 機制。接著&#xff0c;我們將深…

代碼隨想錄算法訓練營第60期第六十三天打卡

大家好&#xff0c;我們昨天講解的是拓撲排序與Dijkstra算法的樸素版&#xff0c;其實我們大致了解了兩種算法的代碼實現&#xff0c;我們通過上次博客了解到拓撲排序其實是可以判斷圖里是否存在環&#xff0c;而Dijkstra算法則使用于非負邊權最短路的求解&#xff0c;今天我們…

linux中如何在日志里面檢索nowStage不等于1的數據的指令

你想在 Linux 中查找日志文件中 nowStage 不等于 1 的所有 JSON 行&#xff0c;當前你已經使用了&#xff1a; Bash 深色版本 grep -rn "nowStage" ./ 這個命令可以找到包含 "nowStage" 字樣的所有行及其所在的文件名和行號&#xff0c;但還不能篩選出 no…

【習題】DevEco Studio的使用

判斷題 1. 如果代碼中涉及到一些網絡、數據庫、傳感器等功能的開發&#xff0c;均可使用預覽器進行預覽。 正確(True) 錯誤(False) 正確答案: 錯誤(False) 知識點 預覽器的使用。解析&#xff1a;預覽器只支持對頁面的預覽&#xff0c;如果代碼中涉及到一些網絡、數據庫、…

SpringBoot實現簡易直播

當下直播技術已經成為各類應用不可或缺的一部分&#xff0c;從社交媒體到在線教育&#xff0c;再到電子商務和游戲領域&#xff0c;直播功能正在被廣泛應用。 本文將介紹如何使用SpringBoot框架構建一個直播流推拉系統。 一、直播技術基礎 1.1 推流與拉流概念 直播系統的核心…

xcode 各版本真機調試包下載

下載地址 https://github.com/filsv/iOSDeviceSupport 使用方法&#xff1a; 添加到下面路徑中&#xff0c;然后退出重啟xcode /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

DL00871-基于深度學習YOLOv11的盲人障礙物目標檢測含完整數據集

基于深度學習YOLOv11的盲人障礙物目標檢測&#xff1a;開啟盲人出行新紀元 在全球范圍內&#xff0c;盲人及視覺障礙者的出行問題一直是社會關注的重點。盡管技術不斷進步&#xff0c;許多城市的無障礙設施依然未能滿足盲人出行的實際需求。尤其是在復雜的城市環境中&#xff…

Python 訓練 day46

知識點回顧&#xff1a; 不同CNN層的特征圖&#xff1a;不同通道的特征圖什么是注意力&#xff1a;注意力家族&#xff0c;類似于動物園&#xff0c;都是不同的模塊&#xff0c;好不好試了才知道。通道注意力&#xff1a;模型的定義和插入的位置通道注意力后的特征圖和熱力圖 作…

TSN交換機正在重構工業網絡,PROFINET和EtherCAT會被取代嗎?

在工業自動化持續演進的今天&#xff0c;通信網絡的角色正變得愈發關鍵。 2025年6月6日&#xff0c;為期三天的華南國際工業博覽會在深圳國際會展中心&#xff08;寶安&#xff09;圓滿落幕。作為國內工業通信領域的技術型企業&#xff0c;光路科技&#xff08;Fiberroad&…