ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux最常用命令

2022-06-17 12:34:18  阅读:123  来源: 互联网

标签:文件 tar ubuntu 常用命令 用法 gec 释义 Linux


第一章 Linux基础命令

ls

释义:list,列出目录中文件的信息
常见用法:

ls ==> 列出当前目录的文件名
ls -l ==> 列出文件详情
ls -a ==> 列出文件名(含隐藏文件)
ls -la ==> 列出文件详情(含隐藏文件)
ls /etc ==> 列出指定目录 /etc 的文件名

alias

释义:给一个命令取一个别名
常见用法:

alias l=‘ls -l’ ==> 给ls -l取个别名叫l

注意:在上述设置别名的语句中,等号两边不能有空格

cd

释义:change director,切换当前路径
常见用法:

cd /etc ==> 切换到 /etc
cd ==> 切换到家目录
cd - ==> 切换到刚刚去过的地方
cd … ==> 切换到上一级目录
cd …/… ==> 切换到上上级目录

clear

释义:清屏
常见用法:

clear

date

释义:设置或查看日期时间
常见用法:

date ==> 查看当前日期时间
date -s “2020/12/12” ==> 设置日期

dpkg

释义:手工安装 deb 软件包
常见用法:

dpkg -i x.deb ==> 安装x.deb软件包

注意:Ubuntu是Debian系统的扩展和继承,因此Ubuntu中的软件安装包的格式为deb。

注意:一般而言,在Ubuntu中很少需要手工安装deb包。因为APT软件管理器会自动下载并安装所需的软件,并会自动处理所有依赖的文件。dpkg只用在一些特定的场合,比如非APT自动下载的安装包的安装、APT自动安装失败等。

echo

释义:回显,即将字符打印到屏幕上
常见用法:

1. echo abcd   ==> 输出字符串"abcd"
2. echo $PATH  ==> 输出环境变量PATH的值

man手册

释义:manual,帮助手册
常见用法:

man ls ==> 查阅关于 ls 的帮助信息
man -f read ==> 列出所有有关 read 的帮助手册
man 2 read ==> 查阅第2册中 read 的帮助信息

注意:
man手册总共有9册,Ubuntu默认只安装了1册,其余的需要手工安装,指令如下:

sudo apt install manpages
sudo apt install manpages-dev
sudo apt install manpages-posix
sudo apt install manpages-posix-dev

pwd

释义:present work directory,显示当前工作路径
常见用法:

gec@ubuntu:~$ pwd  ==> 显示当前路径,简单易用,童叟无欺

sort

释义:对文件内容按行排序并输出
常见用法:

gec@ubuntu:~$ sort file.txt ==> 按默认ASCII码升序排列
gec@ubuntu:~$ sort file.txt -r ==> 按ASCII码降序排列
gec@ubuntu:~$ sort file.txt -n ==> 按数值升序排列
gec@ubuntu:~$ sort file.txt -nr ==> 按数值降序排列

uniq

释义:unique,去除文件中重复的相邻的行
常见用法:

gec@ubuntu:~$ uniq file.txt

which

释义:查看命令所在路径
常见用法:

1. 查看默认命令 ls 所在路径
gec@ubuntu:~$ which ls

2. 查看命令 qmake 的所有可能路径
gec@ubuntu:~$ which -a qmake

管道 |

概念:在shell命令中,可以使用一种特殊的符号来连接两个不同的命令,使得前面命令的输出,变成后面命令的输入或参数,这种特殊的符号叫做管道。
用法:

将前面命令的输出,成为后面命令的输入:cmd1 | cmd2
将前面命令的输出,成为后面命令的参数:cmd1 |xargs cmd2

举例:

1. 将当前目录下的文件,按反序列出:
gec@ubuntu:~$ ls | sort -r

2. 将当前文件下的文件,逐个删除掉:
gec@ubuntu:~$ ls |xargs rm

注意:
以上两个命令:sort和uniq,是典型的过滤器,它们就像一个安装在水管中间的过滤装置,将文件的数据一行一行地读出,并按照一定的规则过滤,然后输出过滤的结果。
鉴于以上理解,可以将多个过滤器用管道连接起来,使之拥有更强大的功能,比如:

gec@ubuntu:~$ sort file.txt | uniq  

第二章 Linux文件管理命令

cat

释义:显示文本文件的内容
常见用法:

gec@ubuntu:~$ cat file.txt ==> 显示文本文件内容
gec@ubuntu:~$ cat -n a.c   ==> 显示文本文件内容(并显示行号)
gec@ubuntu:~$ cat -A a.c   ==> 显示文本文件内容(含不可见字符)

注意:

:::info
在某些情况下,我们可能需要检测文件中那些不可见的字符。比如在Windows系统中编辑了程序源文件,放到Ubuntu系统中编译可能会出现字符错误,这是因为Windows系统中的某些回车符、制表符跟Ubuntu系统的不一致,导致无法编译,而这些字符是不可见的,因此可以使用上述
cat -A 来识别。
:::

head/tail

释义:查看指定文件的头部/尾部内容
常见用法:

gec@ubuntu:~$ head file.txt
gec@ubuntu:~$ head -n file.txt
gec@ubuntu:~$ tail file.txt
gec@ubuntu:~$ tail -n file.txt

less/more

释义:以分页方式查看长文件
常见用法:

gec@ubuntu:~$ less file.txt
gec@ubuntu:~$ more file.txt

注意:
使用 PageUp 向上翻页; PageDown 向下翻页.
Home 跳到首页; End 跳到尾页

od

释义:查看二进制文件
常见用法:

gec@ubuntu:~$ od -x file  ==> 以十六进制查看file
gec@ubuntu:~$ od -o file  ==> 以八进制查看file
gec@ubuntu:~$ od -d file  ==> 以十进制查看file
gec@ubuntu:~$ od -b file  ==> 以二进制查看file

cp

释义:copy,复制文件或者复制整个目录
常见用法:

gec@ubuntu:~$ cp file1 file2    ==> 将文件file1复制为file2
gec@ubuntu:~$ cp dir1/ dir2/ -r ==> 将目录dir1/复制为dir2/

:::info
注意:
如果file2或者dir2已存在,那么它们将会被覆盖 目录名称 dir1/ 和 dir2/
末尾的"/"是可选的,可写可不写,写上去只是为了强调 dir1 和 dir2 是目录,别无他意
:::

scp

释义:security copy,跨网络复制文件或者复制整个目录
常见用法:

# 将远程主机x.x.x.x中的文件a.txt复制到当前目录下
gec@ubuntu:~$ scp user@x.x.x.x:/home/gec/a.txt .

:::info
注意:
user是源文件所在主机的用户名。 x.x.x.x是源文件所在主机的IP地址。
成功执行上述命令后,需要输入主机x.x.x.x中用户user的密码方可复制文件。
:::

touch

释义:
在文件存在的情况下:将文件最近修改时间更新为当前时间
在文件不存在的情况下:创建一个空文件
常见用法:

```cpp
#假设文件a.txt已存在
gec@ubuntu:~$ touch a.txt ==> 更新a.txt的最近修改时间到当前时间

#假设文件b.txt不存在
gec@ubuntu:~$ touch b.txt ==> 创建b.txt

mkdir/rmdir

释义:make/remove directory,创建/删除空目录
常见用法:

gec@ubuntu:~$ mkdir a      ==> 创建空目录a
gec@ubuntu:~$ mkdir b/c -p ==> 创建嵌套空目录b/c
gec@ubuntu:~$ rmdir a      ==> 删除空目录a

:::info
注意:
如果目录不为空,则不能用rmdir删除,而只能用rm,比如上述的目录b,由于b中有c,因此b不是空目录,此时只能这么删除:
:::

gec@ubuntu:~$ rm -r b

rm

释义:remove,删除文件或目录
常见用法:

gec@ubuntu:~$ rm file
gec@ubuntu:~$ rm -r dir/   # 递归删除 需要确认
gec@ubuntu:~$ rm -rf dir/  # 递归删除 不需要确认

find

释义:在指定目录中,按指定条件寻找文件
常见用法:

gec@ubuntu:~$ find /usr -name “*.h” ==> 在/usr中查找以.h结尾的文件
gec@ubuntu:~$ find /tmp -type s ==> 在/tmp中查找类型为套接字的文件

grep

释义:在指定文件或目录中,按指定条件寻找字符串
常见用法:

gec@ubuntu:~$ grep 'apple' /usr -rn ==> 在/usr中查找包含apple的文件

diff

释义:difference,检测两个文件或目录的差异信息
常见用法:

gec@ubuntu:~$ diff file1 file2      ==> 检测文件file1和file2的差异信息
gec@ubuntu:~$ diff dir1/ dir2/ -urN ==> 检测目录dir1/和dir2/的差异信息

file

释义:检测指定文件的格式信息
常见用法:

gec@ubuntu:~$ file a.tar.bz2 ==> 检测文件a.tar.bz2的格式
gec@ubuntu:~$ file a.out     ==> 检测文件a.out的格式

mv

释义:move,移动文件,或给文件重命名
常见用法:

gec@ubuntu:~$ mv file dir/
gec@ubuntu:~$ mv file1 file2

wc

释义:计算字符数、单词数和行数
常见用法:

gec@ubuntu:~$ wc          ==> 计算从键盘输入的数据,以ctrl+d结束
gec@ubuntu:~$ wc file.txt ==> 计算文件file.txt的数据

第三章 Linux压缩与解压命令

:::info
Linux下最常用的压缩包格式是:
gz
bz2
zip
xz
其中,gz和bz2格式一般都是通过tar命令来控制的,xz和zip格式各自由它们的同名命令控制。
:::

tar

释义:归档、释放与压缩、解压

参数
-C 指定的目录。
-f 文件
-z 通过zip处理文件
-v 显示指令执行过程
-x 解压
-c 归档, 压缩


常见用法:

第一,归档与释放:
gec@ubuntu:~$ tar -cf a.tar dir/*  ==> 将目录dir中的所有文件归档成a.tar
gec@ubuntu:~$ tar -tf a.tar        ==> 查看归档文件a.tar
gec@ubuntu:~$ tar -xf a.tar        ==> 释放归档文件a.tar

第二,压缩与解压:
gec@ubuntu:~$ tar -czf a.tar.gz dir/*   ==> 将目录dir中的所有文件归档并压缩为gz格式
gec@ubuntu:~$ tar -tf a.tar.gz          ==> 查看压缩文件a.tar.gz
gec@ubuntu:~$ tar -xzf a.tar.gz         ==> 解压压缩文件a.tar.gz

gec@ubuntu:~$ tar -cjf a.tar.bz2 dir/*  ==> 将目录dir中的所有文件归档并压缩为bz2格式
gec@ubuntu:~$ tar -tf a.tar.bz2         ==> 查看压缩文件a.tar.bz2
gec@ubuntu:~$ tar -xjf a.tar.bz2        ==> 解压压缩文件a.tar.bz2

第三,指定路径:
gec@ubuntu:~$ tar -xf a.tar -C /tmp      ==> 将文件释放到/tmp
gec@ubuntu:~$ tar -xzf a.tar.gz -C /tmp  ==> 将文件解压到/tmp

:::info
注意:归档只是简单的将文件归拢到一起,不涉及压缩算法,文件不会变小压缩会用到压缩算法,文件总体会变小。
:::

xz

释义:压缩与解压
常见用法:

gec@ubuntu:~$ xz a.tar                 ==> 将文件a.tar压缩成a.tar.xz
gec@ubuntu:~$ xz --decompress a.tar.xz ==> 解压a.tar.xz

:::info
xz只能压缩单个文件,因此xz一般与tar配合使用,即:先用tar将要压缩的若干文件或目录归档成一个tar包,然后用xz将tar包压缩成xz格式压缩包[双层压缩]。
:::

zip

zip不是系统自带的命令,一般需要自己手工安装:

gec@ubuntu:~$ sudo apt install zip

释义:压缩与解压
常见用法:

gec@ubuntu:~$ zip a.zip file dir/  ==> 将指定的文件和目录压缩成a.zip
gec@ubuntu:~$ unzip a.zip          ==> 解压a.zip

第四章 Linux权限管理命令

chmod

释义:修改文件权限
常见用法:

gec@ubuntu:~$ chmod 644 file ==> 将文件权限改为644
gec@ubuntu:~$ chmod 755 dir/ ==> 将目录权限改为755

在Linux中,文件的权限一般用rwx来表示:
:::info
r 代表read,可读
w 代表write,可写
x 代表excute,可执行
:::
对于某个文件而言,系统中的所有用户被分成三类,它们是文件的所有者,文件的所属组成员和其他人。这三类用户对这个文件的rwx权限,可以由命令 ls -l 来查看:
在上述列子中,rwx三组权限对应了三种用户。当我们需要修改这些权限的时候,为了便于描述,一般用三个八进制数来对应这些权限为,如下表所示:

r w x r w x r w x
1 1 1 1 1 1 1 1 777
所有者 组成员 其他人
1 1 1 1 0 1 1 0 1 755
1 1 0 1 0 0 1 0 0 644
4 2 1 4 2 1 4 2 1 权重

:::info
如此,权限 644 就代表了 rw-r–r–,权限 755 就代表了 rwxr-xr-x。
:::

chown

释义:change owner,修改文件的所有者
常见用法:

gec@ubuntu:~$ sudo chown jack a.txt ==> 将文件a.txt的所有者修改为jack

chgrp

释义:change group,修改文件的所属组
常见用法:

gec@ubuntu:~$ sudo chgrp gec a.txt ==> 将文件a.txt的所属组修改为gec

第五章 Linux用户管理命令

adduser/deluser

释义:添加/删除系统用户
常见用法:

gec@ubuntu:~$ sudo adduser jack ==> 添加用户jack
gec@ubuntu:~$ sudo deluser jack ==> 删除用户jack

:::info
提醒:
gec@ubuntu:~$ 系统所有的用户清单统一放在 /etc/passwd 中
gec@ubuntu:~$ 删除用户后,默认会残留用户的家目录,如果想要连带家目录也一锅端,可以使用这个命令:
:::

sudo deluser --remove -home jack

addgroup/delgroup

释义:添加/删除系统用户组
常见用法:

gec@ubuntu:~$ sudo addgroup gec ==> 添加用户组gec
gec@ubuntu:~$ sudo delgroup gec ==> 删除用户组gec

:::info
提醒:
系统所有的用户组清单统一放在 /etc/group 中
:::

whoami/id

释义:查看当前用户/相关ID
常见用法:

gec@ubuntu:~$ whoami ==> 显示当前用户名
gec@ubuntu:~$ id     ==> 显示与当前用户相关的ID信息

usermod

释义:修改用户相关信息
常见用法:

gec@ubuntu:~$ usermod jack -a -G gec ==> 将jack添加入用户组gec中

第六章 Linux进程管理命令

ps

释义:process state,获取进程当前状态
常见用法:

gec@ubuntu:~$ ps -ef
gec@ubuntu:~$ ps aux

top

释义:持续跟踪进程状态
常见用法:

gec@ubuntu:~$ top
gec@ubuntu:~$ top -p PID

kill

释义:向指定进程发送信号
常见用法:

gec@ubuntu:~$ kill -l            ==> 查看系统所支持的所有的信号列表
gec@ubuntu:~$ kill -s SIGXXX PID ==> 向进程PID发送信号SIGXXX
gec@ubuntu:~$ kill -n PID        ==> 向进程PID发送第n号信号

第七章 Linux系统管理命令

df

释义:查看系统分区信息
常见用法:

gec@ubuntu:~$ df -h

du

释义:查看系统分区信息
常见用法:

gec@ubuntu:~$ du
gec@ubuntu:~$ du -sh  # 查看当前目录的总大小
gec@ubuntu:~$ du -sh ./*   # 查看路径下每个文件夹的大小

fdisk

释义:查看/设置硬盘分区
常见用法:

gec@ubuntu:~$ sudo fdisk -l  ==> 查看当前系统已识别的分区。

mount / umount

释义:挂载/卸载分区
常见用法:

挂载分区:
gec@ubuntu:~$ mount /dev/sdb /mnt/u ==> 将分区sdb挂载到/mnt/u

卸载分区:
gec@ubuntu:~$ umount /dev/sdb ==> 将分区sdb卸载
gec@ubuntu:~$ umount /mnt/u ==> 将挂载点/mnt/u卸载

第八章 Linux网络命令

【46】linux-》hostname

释义:查看系统主机名
常见用法:

gec@ubuntu:~$ hostname
ubuntu
gec@ubuntu:~$ 

ifconfig

释义:查看/设置系统IP地址
常见用法:

# 查看当前活跃的网络接口
gec@ubuntu:~$ ifconfig

# 查看所有的网络接口
gec@ubuntu:~$ ifconfig -a

ifup / ifdown

释义:启停指定网络接口卡
常见用法:

gec@ubuntu:~$ sudo ifdown ens33  ==> 禁用网络接口卡ens33
gec@ubuntu:~$ sudo ifup ens33    ==> 启用网络接口卡ens33

ping

释义:向指定主机发送要求回应的ICMP数据包
常见用法:

gec@ubuntu:~$ ping 192.168.1.200 
gec@ubuntu:~$ ping www.qq.com

标签:文件,tar,ubuntu,常用命令,用法,gec,释义,Linux
来源: https://www.cnblogs.com/weijiqian/p/16385312.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有