Linux常用指令

WBOY
發布: 2024-02-19 20:57:03
轉載
1244 人瀏覽過

Linux常用指令

指令1:pwd

#pwd顯示目前的工作路徑,查看位置所在。

[root@bunian ~]# pwd
/root
登入後複製

指令2:ls

ls指令十分常用,ls指的是list,檢視檔案或目錄的指令。新增參數後常用為:

  • ls :查看目錄中全部的檔案
  • ls -l :顯示檔案和目錄中的全部資訊
  • ls -a :列出全部文件,包含隱藏文件,其中a表示為all
  • ls  -R :連同子目錄中的檔案全部列出,相當於是遞歸列出全部內容,也就是說該目錄下的所有檔案的都會被顯示出來
  • ls [0-9]:顯示包含數字的檔案名稱和目錄名稱

指令3:cp

#cp就是copy複製的意思,用於複製文件,該指令還可以將多個文件一次複製到同一個目錄下

  • cp -a:將檔案的特性一起進行複製
  • cp -p:連同檔案的屬性一起進行複製,和上面的-a參數相似,常用作備份
  • cp -i :如果目標檔案存在,則在覆寫之前先進行詢問
  • cp -r:遞迴持續的複製
  • cp -u:目標檔案和來源檔案有差異的時候才會進行複製

#指令4:mv

#mv就是move移動的意義,用於移動檔案、目錄或更改檔案名稱

  • mv -f:f是指force,覆蓋之前不會進行詢問
  • mv -i:覆蓋之前進行詢問
  • mv -u:目標檔案比原始檔案新的時候,才會進行更新
mv 旧文件名 新文件名-- 重命名
mv hello.txt /home/peter-- 移动位置
mv /dir1 /dir2-- 将目录dir1移动到目录dir2中,前提是dir2已经存在,若不存在则改名
mv /dir1/* . -- 将dir1下面的全部文件(*代表全部)移动到当前目录下
登入後複製

指令5:rm

#rm就是指remove的意義,用來刪除檔案或目錄

  • rm -f:強制刪除內容,不會出現任何警告內容
  • rm -i:互動模式,在刪除之前進行詢問是否刪除
  • rm -r:遞迴刪除,最常用來刪除某個目錄下的全部內容

PS:這個指令要謹慎操作! ! !

指令6:cd

#cd指令代表切換目錄,可使用相對或絕對路徑作為參數。

自己常用的幾個切換路徑的指令:

  • cd /home/user:切換到”/home/user”目錄下
  • cd:切換到個人主目錄
  • cd ..:返回上一層目錄
  • cd ../..:回上兩級目錄
  • cd -:返回上次所在的目錄
  • cd ~:退回到使用者的家目錄

要注意的是,根目錄的父目錄是自己

特殊符號 作 用
~ 代表目前登入使用者的主目錄
~用戶名 表示切換至指定使用者的主目錄
代表上次所在目錄
. 代表目前目錄
.. 代表上級目錄

指令7:mkdir

#mkdir指的是make directory的意思,也就是建立目錄。如果目錄存在,則會報錯。

mkdir test# 创建空白的test目录
mkdir -p test/a/b/c/d# 使用-p参数来递归地创建多个层级目录
登入後複製

指令8:touch

#touch指令是用來建立空白檔案或設定檔的時間。

建立檔案很簡單:

touch bunian.txt  # 创建bunian.txt文件
登入後複製

設定檔案的時間主要是體現在:

  • 設定檔案內容的修改時間:mtime
  • 檔案權限或屬性的變更時間:ctime
  • 檔案的讀取時間:atime

對應的參數為:

參數 作用
-a 僅修改「讀取時間」atime
-m 僅修改「修改時間」mtime
-d 同時修改二者

命令9:cat

cat命令主要是用来查看文件的内容,后面跟上我们的文件名即可。通常可以用管道符和命令more或者less进行连用。常用的参数选项:

  • cat filename:查看文件的全部内容
  • cat -n  filename :将文件的行数全部显示出来,包含空行
  • cat -b filename:和-n类似,只是不显示空行
  • cat -s filename:当遇到有连续两行以上的空白行,就代换为一行的空白行
  • cat -E:在每行的结尾显示$

命令10:more

more命令的功能和cat命令是类似的,只不过是常用来显示一个长文件,它是以全屏的方式按照分页的方式显示内容。cat命令是整个文件的内容显示在屏幕上,more命令是以分页的方式来显示的。

常用的操作:空白键space跳到下一页,b键则返回上一页。

常用的参数为:

  • +n :从第n开始显示文件内容
  • -n :屏幕只显示n行数
  • -s:将连续的空行显示为一行
  • -u:将文件内容中的下划线去掉
  • -c:不进行滚屏操作。每次刷新这个屏幕
  • -l:忽略Ctrl+l换页字符
  • +/pattern:在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示

配合该命令的常用操作:

  • Enter n:向下翻动n行,默认是1行,可自定义
  • Ctrl+F:向下滚动一屏
  • 空格键:向下滚动一屏
  • Ctrl+B:返回上一屏
  • V:调用vim编辑器
  • q:推出more命令
  • more +3 bunian.txt# 从第3行开始显示
    more -20 bunian.txt # 屏幕只显示20行
    more +/hello bunian.txt # 查询文件中第1次出现hello的位置
    more -c -5 file# 每5行显示一次,而且在显示之前先清屏
    登入後複製

    如果某个目录下文件过多,我们可以使用more命令来进行分页显示:

    ls -l | more -5   # 输出当前目录下的全部文件,并且每页显示5个文件信息
    登入後複製

    还有其他的显示文件行数的命令:less、head、tail、tac

    tac file# 从最后一行开始显示行号
    head -n 4 file# 查看文件的前4行
    tail -n 8 file# 查看文件的最后8行
    tail -n +500 file# 从第500行开始显示,即只显示500行以后的
    cat file | head -n 200 | tail -n +100# 显示100-300行的
    cat file | tail -n +200 | head -n 100# 从第200行开始,显示100行(即200-299行)
    登入後複製

    命令11:ps

    ps命令是用来查看系统中的进程所在的状态

    ps -a:查看所有的进程(包含其他用户的进程)

    [root@bunian ~]# ps -a
    PID TTYTIME CMD
    579 pts/000:00:00 ps
    登入後複製

    ps -u:查看用户及其他信息

    [root@bunian ~]# ps -u
    USER PID %CPU %MEMVSZ RSS TTYSTAT START TIME COMMAND
    root 6250.00.0 1554481832 pts/0R+ 01:25 0:00 ps -u
    root13990.00.0 110208 664 tty1 Ss+Dec01 0:00 /sbin/agetty --noclear tty1 linux
    root14040.00.0 110208 640 ttyS0Ss+Dec01 0:00 /sbin/agetty --keep-baud 115200,38400,96
    root 188280.00.0 1167283268 pts/0Ss Dec19 0:00 -bash
    登入後複製

    ps -x:显示没有控制终端的进程

    [root@bunian ~]# ps -x
    PID TTYSTAT TIME COMMAND
    1 ?Ss 1:36 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    2 ?S0:00 [kthreadd]
    4 ?S< 0:00 [kworker/0:0H]
    6 ?S0:27 [ksoftirqd/0]
    7 ?S0:08 [migration/0]
    8 ?S0:00 [rcu_bh]
    9 ?S 17:06 [rcu_sched]
     10 ?S< 0:00 [lru-add-drain]
     ......此处省略
    
    登入後複製

    Linux系统中进程的5种常见状态

  • R:运行,进程正在运行或者在队列中等待
  • S:中断,进程处于休眠状态中。当接受到某个条件后,即可脱离该状态
  • D:不可中断,在这种状态下即使kill命令也无法将其中断
  • Z:僵死,进程已经终止,但是进程描述符依然存在。若父进程调用wait()系统函数后将进程释放
  • T:停止,进行收到停止信号后停止运行
  • 命令12:top

    top命令是用来动态地监控进程活动或者系统负载等信息的,它的功能可以看做是Windows系统中的“Windows任务管理器”。

    查询进程的端口号:

    netstat -tunlp | grep 端口号   
    登入後複製

    命令13:pidof

    该命令是用来查询某个指定的服务进程的pid值

    pidof sshd  # 查看sshd服务的进程pid值
    登入後複製

    命令14:kill、killall

    kill用于终止某个指定pid号的服务进程

    kill 18828  # 杀死pid为18828的服务
    登入後複製

    killall用来终止某个指定名称的服务所对应的全部进程,参数为进程名称

    pidof httpd#查询httpd服务的全部进程
    killall httpd # 终止http服务的全部进程
    登入後複製

    命令15:ifconfig

    ifconfig命令主要是用来获取网卡配置和系统的网络状态等信息,主要信息为:

    • 网卡名称
    • inet参数后面的IP地址
    • MAC地址
    • RX、TX的接收和发送数据等信息
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500
    inet 10.0.8.2netmask 255.255.252.0broadcast 10.0.11.255
    inet6 fe80::5054:ff:fe95:2cdfprefixlen 64scopeid 0x20<link>
    ether 52:54:00:95:2c:dftxqueuelen 1000(Ethernet)
    RX packets 48350308bytes 13922587280 (12.9 GiB)
    RX errors 0dropped 0overruns 0frame 0
    TX packets 50364002bytes 30975667765 (28.8 GiB)
    TX errors 0dropped 0 overruns 0carrier 0collisions 0
    
    登入後複製

    命令16:history

    history命令主要是用来查看我们敲过的历史命令。

    history# 查看全部历史命令
    history 10# 查看最近的10条命令
    登入後複製

    history可以与grep、tail配合使用进行条件过滤来查找我们需要的命令:

    history | grep dnf# 和dnf相关的命令
    history | tail -n 3 # 末尾3条命令
    登入後複製

    清除历史命令:

    history-d 50# 清除第100条
    history -c# 全部清除掉
    登入後複製

    以上是Linux常用指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:mryunwei.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!