常用的用戶以及文件管理命令有哪些,並演示命令以及用法。

来源:https://www.cnblogs.com/061713xlhj/archive/2019/02/14/10380808.html
-Advertisement-
Play Games

cp命令:複製(copy) 單源複製: 如果DEST不存在,則先創建此文件,並複製源文件數據流至DEST中 如果DEST存在且是非目錄文件,則覆蓋目標文件 如果DEST存在且是目錄文件,則先DEST目錄下創建一個與源文件同名的文件,則×××數據流 多源複製: DEST必須存在,且為目錄,其他情況都會 ...


cp命令:複製(copy)

單源複製:cp [OPTION]... [-T] SOURCE DEST
多源複製:cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

單源複製:

如果DEST不存在,則先創建此文件,並複製源文件數據流至DEST中

[root@www tmp]# cp /etc/issue abc
[root@www tmp]# ls
abc

如果DEST存在且是非目錄文件,則覆蓋目標文件

[root@www tmp]# ls
abc
[root@www tmp]# cp /etc/issue abc
cp:是否覆蓋"abc"? y

如果DEST存在且是目錄文件,則先DEST目錄下創建一個與源文件同名的文件,則×××數據流

[root@www tmp]# cp /etc/issue abcd
[root@www tmp]# ls
abc  abcd

多源複製:

DEST必須存在,且為目錄,其他情況都會報錯

[root@www tmp]# cp /etc/issue /etc/redhat-release /tmp/
[root@www tmp]# ls
abc  abcd  issue  redhat-release

常用[OPTION]:

 -i:互動式複製,即覆蓋之前提醒用戶確認
 -f:強制覆蓋目標文件,不顯示確認
 -r:遞歸複製目錄
 -d:複製符號鏈接文件本身,而非其指向的源文件
 -a:-dR --preserve=all,archive,用於實現歸檔
 --preserve
        mode:許可權
        ownership:屬主和屬組
        timestamps:時間戳
        context:安全標簽
        xattr:擴展屬性
        links:符號鏈接
        all:上述所有屬性

mv命令:移動(move )

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
常用選項
    -i:互動式
    -f:force

rm命令:刪除(remove)

rm [OPTION]... FILE...

常用選項:
    -i:interactive
    -f:force
    -r:recursive
刪除目錄: rm -rf /PATH/TO/DIR
    危險操作:rm -rf /*

註意:所有不用的文件建議不要直接刪除,而是移動至某個專用的目錄:(模擬回收站)

2、使用命令行展開功能,創建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目錄下創建目錄:x_y, x_z, q_y, q_z

[root@www tmp]# mkdir -p /tmp/{a1/{a,b},a2}
[root@www tmp]# tree /tmp/
/tmp/
├── a1
│   ├── a
│   └── b
└── a2
[root@www tmp]# mkdir -p /tmp/{x,q}_{y,z}
[root@www tmp]# ls
a1  a2  q_y  q_z  x_y  x_z

3、文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息。

元數據信息:

file:文件名;

size:文件大小

block:文件占了多少個數據塊

IO Block:文件所占數據塊的塊大小

Device:硬體,既說明該文件在硬碟的那個柱面

Inode:文件Inode號,文件的索引節點號

links:鏈接

Access:文件許可權

Uid:該文件所屬的屬主

Gid:該文件所屬的屬組

context:安全上下文

Access(第二個):文件上一次的訪問時間

Modify:文件上一次修改的時間

Change:文件上一次屬性更改的時間

查看文件元數據的方法:

stat命令:

stat [OPTION]... FILE...

[root@www tmp]# stat /etc/issue
  File: "/etc/issue"
  Size: 47          Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 391443      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-11-23 21:00:01.316320911 +0800
Modify: 2014-10-23 19:41:30.000000000 +0800
Change: 2018-10-11 22:42:41.154999833 +0800
You have new mail in /var/spool/mail/root

修改文件的時間戳方法:

touch命令:用於改變文件時間戳,如果文件不存在則創建一個空文件

touch [OPTION]... FILE...  

-c:指定的文件路徑不存在時不予創建:
-a:僅修改access time:
-m:僅修改modify time:
-t STAMP:
    [[CC]YY]MMDDhhmm[.ss] 年月日時分秒
    touch -m -t 200212010303.03

4、在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

[root@www tmp]# touch tfile-$(date +%F-%H-%M-%S)
[root@www tmp]# ls
tfile-2018-11-25-04-07-33

5、複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

mkdir /tmp/mytest1;cp -r /etc/p*[^0-9] /tmp/mytest1

6、創建用戶tom,指定UID為5001,指定家目錄為/tmp/tom, 指定shell為/bin/zsh, 指定基本組為tom,附加組為jack

useradd tom -u 5001 -d /tmp/tom -s /bin/zsh  -G jack

7、常用的用戶以及文件管理命令有哪些,並演示命令以及用法。

useradd、userdel、usermod、passwd、groupadd、groupdel、groupmod、gpasswd、chage、chsh、id、su

useradd命令:創建用戶

useradd  [OPTION]  USER
    -u, --uid UID:指定UID;
    -g, --gid GROUP:指定基本組ID,此組得事先存在;
    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔;
    -c, --comment COMMENT:指明註釋信息;
    -d, --home HOME_DIR:以指定的路徑為用戶的家目錄;通過複製/etc/skel此目錄並重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶複製環境配置文件;
    -s, --shell SHELL:指定用戶的預設shell,可用的所有shell列表存儲在/etc/shells文件中;
    -r, --system:創建系統用戶;

[root@www ~]# useradd us1
[root@www ~]# id us1
uid=501(us1) gid=501(us1) 組=501(us1)

userdel命令:刪除用戶

userdel [OPTION] USER
    -r:刪除用戶時一併刪除其家目錄;

[root@www ~]# userdel -r us1

usermod命令:修改用戶屬性

usermod [OPTION] USER
    -u, --uid UID:修改用戶的ID為此處指定的新UID;
    -g, --gid GROUP:修改用戶所屬的基本組;
    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;
    -a, --append:與-G一同使用,用於為用戶追加新的附加組;
    -c, --comment COMMENT:修改註釋信息;
    -d, --home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;
    -m, --move-home:只能與-d選項一同使用,用於將原來的家目錄移動為新的家目錄;
    -l, --login NEW_LOGIN:修改用戶名;
    -s, --shell SHELL:修改用戶的預設shell;

    -L, --lock:鎖定用戶密碼;即在用戶原來的密碼字元串之前添加一個"!";
    -U, --unlock:解鎖用戶的密碼;

passwd命令:修改用戶密碼

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
    (1) passwd:修改用戶自己的密碼;
    (2) passwd USERNAME:修改指定用戶的密碼,但僅root有此許可權;

        -l, -u:鎖定和解鎖用戶;
        -d:清除用戶密碼串;
        -e DATE: 過期期限,日期;
        -i DAYS:非活動期限;
        -n DAYS:密碼的最短使用期限;
        -x DAYS:密碼的最長使用期限;
        -w DAYS:警告期限;

        --stdin:
        echo "PASSWORD" | passwd --stdin USERNAME

groupadd命令:添加組

groupadd [OPTION] group_name

    -g GID:指定GID;預設是上一個組的GID+1;
    -r: 創建系統組;

groupdel命令:刪除組

groupdel [OPTION] GROUP

groupmod命令:修改組屬性

groupmod [OPTION] GROUP
    -g GID:修改GID;
    -n new_name:修改組名;

gpasswd命令:管理組

組密碼文件:/etc/gshadow

gpasswd [OPTION] group
    -a USERNAME:向組中添加用戶
    -d USERNAME:從組中移除用戶

chage命令:更改用戶密碼過期信息

chage [OPTION] 登錄名

    -d
    -E
    -W
    -m
    -M

id命令:顯示用戶和所屬群組的實際與有效ID

id [OPTION]... [USER]
    -u: 僅顯示有效的UID;
    -g: 僅顯示用戶的基本組ID; 
    -G:僅顯示用戶所屬的所有組的ID;
    -n: 顯示名字而非ID;

su命令:切換用戶

登錄式切換:會通過讀取目標用戶的配置文件來重新初始化
    su - USERNAME
    su -l USERNAME
非登錄式切換:不會讀取目標用戶的配置文件進行初始化
    su USERNAME
註意:管理員可無密碼切換至其它任何用戶;
-c 'COMMAND':僅以指定用戶的身份運行此處指定的命令;


原文地址:http://blog.51cto.com/5190716/2321750
 

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

-Advertisement-
Play Games
更多相關文章
  • 發現之前寫了一篇關於事件的闡述寫的過於抽象。現在想想先理解本質由簡入難比較合適 之前的一篇博客地址:https://www.cnblogs.com/LiMin/p/7212217.html 參照網上例子給個簡單版本的如下:貓叫->老鼠跑了->主人醒了 ...
  • Socket是一種通信TCP/IP的通訊介面,也就是HTTP的抽象層,就是Socket在Http之上,Socket也就是發動機。實際上,傳輸層的TCP是基於網路層的IP協議的,而應用層的HTTP協議又是基於傳輸層的TCP協議的,而Socket本身不算是協議,就像上面所說,它只是提供了一個針對TCP或 ...
  • 前段時間開發公司官網,用到了URLRewriter實現偽靜態,在VS調試模式下沒有任何問題,部署到IIS上後總是提示404的錯誤,查了很久才知道IIS需要做相應的配置才能實現動態跳轉的功能,現將IIS偽靜態配置方法記錄下來,希望對有需要的人有所幫助。 一、首先,要實現IIS偽靜態,最好打開IIS下的 ...
  • 一.概述 本章使用 Entity Framework Core 構建執行基本數據訪問的 ASP.NET Core MVC 應用程式。使用遷移(migrations)基於數據模型創建資料庫,是一種code first模式。可以在Windows 上使用 Visual Studio 2017,或在 Win ...
  • 三十而立,四十不惑。 我呢,未立將不惑。 苦惱之餘,決定拓展就業範圍,正式學習Linux,準備考取RHCE證書。 考證需要報名培訓機構,這是一個明智的選擇,畢竟中國人善於考試,善於鑽研考試。 聯繫培訓學校,交報名費,獲取學習資料,準備考試;一切都按部就班進行。 昨天晚上,看了第一個視頻,算是正式開課 ...
  • 由於微信小程式沒有Linux版本,所以需要用wine來跑 一、安裝wine 二、安裝nwjs-sdk 微信開發工具包基於nwjs-sdk 三、安裝wechat_web_devtools 四、啟動 下麵是啟動後的界面 ...
  • 變數命名法 這裡是linux不是windows,所以匈牙利命名法是不允許使用的,在內核中,局部變數只要可以明確表達自己的意思,可以使用idx,i這種名字的id, 全局函數和變數需要有表達性的名字例如get_active_name 之類的都是允許使用的。 空格的使用 在關鍵字周圍使用空格 關於註釋的使 ...
  • 請問如何把文件中的空行過濾掉(要求命令行實現) 解答: 創建實戰文件: 方法一: 提示:這是正則表達式的用法,前面講過了。^意思是以...開關,$意思是以....結尾,^$就是匹配以開頭結尾, 或者說匹配以結尾開頭,實際都是匹配空行的意思。 方法二: ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...