*新手必会50+Linux命令(ubuntu亲测有效,持续更新)*
(1)ls 用来显示目标列表
ls (选项) (参数)
ls 显示当前目录下显示的文档及目录
ls -a 显示当前目录下所有文档及目录(包含隐藏的,ls将带有“.”视为隐藏,不会列出)
ls -l 显示文件目录列表 并显示文件权限,创建日期,文件大小等详细信息
(2)mkdir 用来创建目录(创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名)
mkdir (选项) (参数)
选项:-m 创建目录的同时设置目录的权限
-p 若想要创建的目录的上层目录尚未建立,则会一并创建上层目录
参数:指定要创建的目录列表,多个目录用空格隔开。
mkdir -m 700 usr/test 在usr/目录下创建test,并且只有创建者有读,写,执行的权限,其他人无权访问。
(3)cd 切换工作目录至dirname
cd (选项) (参数)
选项:
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
cd .. 退出当前目录,返回到上一目录;
cd home 进入home目录下;
cd ../.. 返回上两级目录;
(4)touch 有两个功能:①把已存在文件的时间标签更新为系统当前时间(默认方式);②是创建新的空文件。
touch (选项) (参数)
选项:
-a: 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间
-t: <时间日期> 使用指定的时间日期,而非现在的时间;
touch -t 201807081223.34 test
时间日期格式为:[[CC]YY]MMDDhhmm[.SS]
其中,CC为年数中的前两位数,即“世纪数”;YY为年数中的后两位;MM为月数,DD为天数,hh为小时数,mm为分钟数,SS为秒数;
参数:指定要设置时间属性的文件列表;
touch test1
(5)rm 删除一个目录中的一个或多个文件或者目录,也可以将一个目录及其下属子目录和文件都删除掉。
rm (选项) (参数)
选项:
-f: 强制删除某个文件或目录
rm -r text 强制删除text文件夹(目录)
参数:指定被删除的文件列表,若其中有目录,则必须加上-r或-R
(6)mv 用来对目录或文件重新命名;或者将文件从一个文件移到另一个目录中;
mv (选项) (参数)
选项:
-f: 若目标文件或目录与现有文件或目录重复,则直接覆盖
--target-directory=<目录>:指定源文件要移动目标文件
参数:
源文件:源文件列表
目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。
mv text test 将目录text改名为test。
mv /usr/* . 将usr下面的所有文件移动到当前目录
(7)ln 为文件创建连接;连接分为硬连接和符号连接两种,默认连接是硬连接。若要创建符号连接必须使用“-s”。
ln (选项) (参数)
-b或—backup:删除,覆盖目标文件之前的备份
-d或-F或—directory:建立目标的硬文件;
-s或—symbolic:对源文件建立符号连接,而非硬链接
参数:
源文件,指定连接的源文件,如果-s选项创建符号连接,则“源文件”可以是文件或者目录;创建硬文件,则“源文件”只能是文件;
目标文件:指定源文件的目标连接文件
ln -s text test 将目录text与test连接
(8)vi/vim 文本编辑器
vi 的三种工作模式及其切换:
① 命令行模式:
在ubuntu终端输入vi 文件名或vim 文件名就进入命令行模式。(只能输入命令,不能编辑)
② 编辑模式:
进入命令行模式后键盘敲i,就进入编辑模式,编辑模式下可以编写文本;在编辑模式下按“Esc”键,则又进入命令行模式。
③ 末行模式:在命令行模式下输入“:”就进入末行模式,输入“wq”保存并退出;在末行模式下输入“Esc”则又进入命令行模式。
(9)chmod 变更文件或者目录的权限(一般分为可读,可写,可执行)
chmod (选项) (参数)
选项:
<权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置;….
参数:
权限模式:指定文件的权限模式;
文件:要改变权限的文件;
权限的表示法如下:
u (User): 即文件或目录的拥有者;
g (Group): 即文件或目录所属组群;
o (Other): 除目录或文件外或所有组群(即其他用户)。
a (All): 全部用户(包含拥有者,所属组群及其他用户)
r : 读取权限,数字代号为“4”;
w: 写权限,数字代号为“2”;
x: 执行或者切换权限,数字代号为“1”;
-: 不具备任何权限,数字代号为“0”;
s: 特殊功能说明:变更文件或目录的权限;
chmod u+x,g+w text 为文件text设置自己可以执行,组员可以写入的权限;
chmod 777 text 为文件text设置自己,组员,其他人都可以读,写入,执行的权限。
注:ls -l 文件或目录名 可以查看该文件或目录的权限信息
(10)chown 改变某个文件或目录的所有者或所属组(只有超级用户或文件的所有者才可以使用该命令)
chown (参数) (选项)
选项:
参数:
用户:组:指定所有者或所属工作组。
文件:指要改变所有者或工作组的文件列表。支持多个文件或列表,支持shell通配符;
chown -R ubuntu usr/ 将usr下面的所有文件,子目录的文件主改为ubuntu
(11)cp 将一个或多个文件或者目录复制到指定的目标文件或者目录
cp (选项) (参数)
选项:
-l 对源文件建立硬链接,而非复制;
-p 保留源文件或目录的属性;
参数:
源文件:制定源文件列表。默认情况下,cp不能复制目录,要复制目录必须使用-R选项。
目标文件:指定目标文件,当“源文件”有多个时,要求指定的“目标文件”为目录;
cp 11.txt text 将文件11.txt复制到text目录下;
(12)scp 用于Linux之间复制文件或者目录;
语法:scp [可选参数] file_source file_target
-1 强制scp命令使用ssh1
-2 强制scp命令使用ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-r 递归复制整个目录
例:
① 从本地复制到远程:
scp local_file remote_username@remote_ip:remote_folder
scp /home/space/music/1.mp3 root@www.runoob.com:home/
root/others/music
② 远程复制到本地:(只需要将两个参数调换位置即可)
scp remote_username@remote_ip:remote_folder local_file
scp root@www.runoob.com:home/root/others/music
(13)echo 在shell命令中打印shell变量的值;或者直接输出指定的字符串;
echo (选项) (参数)
选项:
-e:激活转义字符;
参数:
变量:指定要打印的变量;
echo -e “\e[1;31mthis is red text\e[0m” 输出的文本为红色
this is red text
(14)grep 文本搜索,它可以使用正则表达式搜索文本
参数:
-a 不要忽略二进制文件;
-o 只输出文件中匹配到的部分;
grep常见的用法:
grep match_pattern file_name 在文件中搜索一个包含”match_pattern”的文本行
或
grep “match_pattern” file_name
在多个文件中查找:
grep match_pattern file_1,file_2….
grep xiong text.txt
(15)export 用于将shell变量输出为环境变量,或将shell函数输出为环境变量
export (选项) (参数)
选项:
-f:代表[变量名称]中的函数名称;
-n:删除指定的变量
-p:列出所有的shell赋予程序的环境变量
参数:
变量:指定要输出或者要删除的变量
export 查看已经存在的环境变量
(16)fdisk 用于观察硬盘实体的使用情况
fdisk (选项) (参数)
选项:
-b:指定每个分区的大小;
-l:列出指定外围设备的分区表情况;
-v:显示版本信息;
参数:
设备文件:指定要进行分区或显示分区的硬盘设备文件;
(17)parted 分区,挂载以及非交互式操作;
parted (选项) (参数)
选项:
-h: 显示帮助信息;
-i: 交互式模式;
-s: 脚本模式,不提示用户;
-v:显示版本号;
参数:
设备:指定要分区的硬盘所对应的设备文件;
命令:要执行的parted命令;
(18)mkfs 在设备上(通常为硬盘)创建Linux文件系统,mkfs本身并不执行创建文件系统的工作,而是调用相关的文件系统来执行。
mkfs (选项) (参数)
选项:
fs: 指定建立文件系统时的参数;
-t<文件系统类型>:指定要建立何种文件系统;
-v:显示版本信息及详细的使用方法;
-V:显示简要的使用方法;
-c: 在制作档案系统前,检查该partition是否有坏轨;
参数:
文件系统:指定要创建的文件系统对应的设备文件名;
块数:指定文件系统的磁盘块数;
例:
在 /dev/hda5 建立一个msdos的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来;
mkfs -V -t msdos -c /dev/hda5
mkfs -t ext3 /dev/sda6 将sda6分区格式化为ext3格式
mkfs -t ext2 /dev/sda7将sda7分区格式化为ext2格式
(19)mount 用于加载文件系统到指定的加载点
mount (选项) (参数)
选项:
-l: 显示已经加载的文件系统列表
-v:冗长模式,输出指令执行的详细信息;
-r: 将文件系统加载为只读模式;
参数:
设备文件名:指定要加载的文件系统对应的设备名;
加载点:指定加载点目录;
(20)find 指定目录下查找文件
find (选项) (参数)
选项:
-ls: 假设find指令的回传值为 True,就将文件或目录名称列出为标准输出
参数:
起始目录:查找文件的起始目录;
(21)ps 查看当前系统的进程状态
ps (选项)
选项:
-a: 显示所有终端机下执行的程序进程,除了阶段作业领导者之外;
a:显示现行终端机下的所有程序,包括其他用户的程序;
-A:显示所有程序
--info: 显示排错信息;
查看test进程运行的状态信息;
ps -aux|grep test
(22)kill 删除执行中的程序或工作(杀死进程)
kill (选项) (参数)
选项:
-a: 当处理当前进程时,不限制命令名和进程号的对应关系
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
-p: 指定kill命令只打印相关的进程号,而不发送任何信号;
-s <信息名称或者编号>:指定要送出的信息;
-u:指定用户;
参数:
进程或作业识别号:指定要删除的进程或作业;
kill -l 列出所有信号名称
只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略
下面是常用的信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z
先用ps查找进程,再用kill杀死进程
(23)killall 使用进程名称杀死进程
killall (选项) (参数)
选项:
-e: 对长名称进行精确匹配
-l: 忽略大小写的不同
-p: 杀死进程所属的进程组;
-i: 交互式杀死进程,杀死进程前需要进行确认;
-l: 打印所有已知进程列表
-u:杀死指定用户的进程;
参数:
进程名称:指定要杀死的进程名称;
killall vi 杀死所有同名进程;
(24)cat 查看文件内容,创建文件,文件合并,追加文件内容等
cat (选项) (参数)
选项:
-n或者-number: 从1开始对所有输出的行号进行编号
-A: 显示不可打印字符,行尾显示”$”;
参数:
文件列表:指定要连接的文件列表
cat m1 m2 > file 将文件m1,m2合并后放入文件file中
(25)head 用于显示文件开头的内容(默认情况下,显示前十行)
head (选项) (参数)
选项:
-n<数字>: 指定显示头部内容的行数
-c<字符数>:指定显示头部内容的字符数;
-v: 总是显示文件名的头信息
-q: 不显示文件名的头信息
参数:
文件列表:指定显示头部内容的文件列表
(26)netstat 用来打印Linux中网络系统的状态信息,可以查看Linux系统的网络状况。
netstat (选项)
选项:
-a 或--all : 显示所有连线中的socket;
-A<网络类型> 或--<网络类型>:列出网络类型连线中的相关地址
-t 或 --tcp :显示tcp传输协议的连线状况;
-u 或--udp : 显示udp传输协议的连线状况;
-e 或--extend :显示网络中的其他相关信息
-l或--listening:显示监控中的服务器的socket;
(27)tail 显示输入文件尾部的内容,默认显示指定文件的末尾十行;
tail (选项) (参数)
选项:
--pid =<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
-n<N>或—line=<N>:输出文件尾部N行的内容;
-f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效。
参数:
文件列表:指定要显示尾部内容的文件列表。
tail +20 test.txt 显示文件file的内容,从第20行到文件末尾。
(28)less 使用less可以随意浏览整个文件,与more类似,但more只能向前移动,不能向后移动;并且less在查看之前不会加载整个文件
less (选项) (参数)
选项:
-b: 设置缓冲区大小;
-e: 当文件结束时,自动离开;
-f: 强迫打开特殊文件;
-m: 显示类似more命令的百分比
-b: 向后翻一页;
-d: 向后翻半页;
参数:
文件:要显示的文件
(29)more 类似cat命令查看文件,不过会一页一页的形式显示
more (选项) (参数)
选项:
-num: 一次显示的行数;
-p: 不以滚动的方式显示每一页,而是先清除屏幕后再显示内容
+num: 从第num行开始显示;
参数:
文件列表:需要显示的文件的列表;
(30)ss 显示处于活动状态的套接字信息
ss (选项)
选项:
-h: 显示帮助信息
-V: 显示指令版本信息;
-n: 不解析服务名称,以数字的方式显示;
-a: 显示所有的套接字
-l: 显示处于监听状态的套接字
-o: 显示计时器信息
-i: 显示内部的Tcp信息
(31)ethtool 用来获取以太网的配置信息,或者修改这些配置
ethtool (选项) (参数)
选项:
-i: 显示网卡驱动的信息,如驱动的名称,版本。
-s:修改网卡的部分配置,包括网卡速度,单工/全双工模式,mac地址等。
(32)telnet 用于登录远程主机,对远程主机进行管理
telnet (选项) (参数)
选项:
-8:允许使用8位字符资料,包括输入或输出;
-a: 尝试自动登入远端系统;
-b<主机别名>: 使用别名指定远端主机名称;
-l<用户名称>: 指定要登入远端主机的用户名称;
参数:
远程主机:指定要登录进行管理的远程主机;
端口:指定telnet协议使用的端口号
(33)ftp 设置文件系统相关的功能
ftp (选项) (参数)
选项:
-d: 详细显示指令执行过程,便于排错或分析程序执行的情况
-i: 关闭互动模式,不询问任何过程。
-g: 关闭本地主机文件名称支持特殊字符的扩充特性。
-n: 不使用自动登录
-v: 显示指令执行过程
参数:
主机:指定要连接的FTP服务器的主机名或ip地址
(34)top Linux下常用的分析工具,能够实时显示系统中各个进程的资源占用情况,类似于windows资源管理器。
top (选项)
选项:
-b: 以批处理模式操作
-c: 显示完整的治命令
-d: 屏幕刷新间隔时间
-I:忽略失效过程
-u<用户名>:指定用户名
-p<进程号>:指定进程号
-n<次数>:循环显示的次数
(35)free 显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区;
free (选项)
选项:
-b: 以byte为字节显示内存使用状况
-k: 以kb为单位显示内存使用情况
-m: 以mb为单位显示内存使用情况
-o: 不显示缓冲区调节列
-s<间隔秒数>: 持续观察内存使用状况;
(36)df 显示磁盘分区上可使用的磁盘空间(默认为kb)
df (选项) (参数)
选项:
-a 或--all :包含全部的文件系统
--block-size=<区块大小>:以指定的区块大小显示区块数目
参数:
文件:指定文件系统上的文件;
(37)du 也是查看使用空间的,与df命令不同的是,du命令是对文件和目录磁盘使用空间的查看。
du (选项) (参数)
选项:
-a 或 -all: 显示目录中个别文件的大小;
-b 或 -bytes:显示文件或目录大小时,以byte为单位;
参数:
文件列表:要显示的文件或目录列表;
(38)tar 用来备份文件,压缩或解压缩文件
tar (选项) (参数)
选项:
-c: 建立一个压缩文件的参数指令(create的意思)
-x: 解开一个压缩文件的参数指令
-t: 查看tarfile里面的文件;
-r: 向压缩归档文件末尾追加文件;
-u: 更新原压缩包中的文件
参数:
-z:有gzip属性,即需要用 gzip 压缩
-j:有bz2属性,即需要用 bzip2 压缩
-Z:有compress属性的
-v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程!
-O:将文件解开到标准输出
-f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!
例如:使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
tar -tf aaa.tar.gz 在不解压的情况下查看压缩包的内容
tar -cvf jpg.tar *.jpg 将目录里所有的jpg文件打包成tar.jag
(39)zip 可以对文件进行解压缩操作,或者对文件进行打包操作;
zip (选项) (参数)
选项:
-A: 调整可执行后的自动解压缩文件
-c: 替每个被压缩的文件加上注释
-d: 从压缩文件内删除指定的文件
-r: 递归处理,将指定目录下所有文件与子目录一并处理
参数:
zip压缩包: 指定要创建的zip压缩包
文件列表:指定要压缩的文件列表
(40)unzip 用于解压缩由zip命令压缩的“.zip”压缩包
unzip (选项) (参数)
选项:
-c: 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-f: 更新现有的文件
-l:显示压缩文件内所包含的文件
-t: 检查压缩文件是否正确
参数:
压缩包:指定要解压的“.zip”文件
(41)curl 利用URL规则在命令行下进行文件传输的工具(支持文件上传和下载)(若ubuntu没有安装,则需要安装)
curl (选项) (参数)
选项:
-a或--append 上传文件时,附加到目标文件
--local-port<NUM> :强制使用本地端口号
(42)rz 使用ZMODEM协议,将本地文件批量上传到Linux服务器(注意不能上传文件夹)(若未安装,则需要先安装)
rz (选项)
选项:
-+或--append :将文件内容追加到已存在的同名文件
-a或--ascii: 以文本方式传输
(43)sz 通过ZMODEM工具,将多个文件下载到本地服务器(注意不能下载文件夹)(若未安装,则需要安装)
sz (选项) (参数)
选项:
命令选项基本与rz相同
参数:
文件列表:要下载的文件列表。
(44)date 根据给定格式显示日期或者设置系统日期时间
date (选项)
选项:
-d<字符串>:显示字符串所指的日期或时间(字符串前后必须加上双引号)
-s<字符串>: 根据字符串来设置日期或时间(字符串前后必须加上双引号)
-u: 显示GMT
--help: 显示帮助信息
--version:显示版本信息
(45)dig 常用的域名查询工具,用来测试域名系统工作是否正常
dig (选项) (参数)
选项:
@<服务器地址>:指定进行域名解析的域名解析器
-b<ip地址>:当主机具有多个ip地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求。
-p: 指定域名服务器使用的端口号
-t<类型>: 指定要查询的DNS数据类型
-4:使用IPv4;
-6:使用IPv6;
-h:帮助信息
参数:
主机:指定要查询的域名主机
查询类型:指定要查询的域名类型
查询类:指定查询DNS的class
查询选项:指定查询选项
(46)su 切换当前用户身份到其他用户身份
su (选项) (参数)
选项:
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份
--help:显示帮助
--version:显示版本信息
参数:
用户:指定要切换的目标用户
(47)sudo 用来以其他身份来执行命令,预设的身份为root,用户使用sudo时必须输入密码
sudo (选项) (参数)
选项:
-b: 在后台执行命令
-h: 显示帮助;
-H:将Home环境变量设置为新身份Home环境变量
-l: 列出当前用户可执行与无法执行的指令
参数:
指令:需要运行的指令或对应的参数
sudo apt-get install <软件名称> 安装软件
sudo apt-get update <软件源> 更新软件源
(48)ssh 通过ssh加密协议实现安全的登录远程服务器
ssh (选项) (参数)
选项:
-1:强制使用ssh协议版本1
-2:强制使用ssh协议版本2
-4:强制使用IPv4地址
-6:强制使用IPv6地址
-p:指定远程服务器上的端口
参数:
远程主机:指定要连接的远程ssh服务器
指令:要在远程ssh服务器上执行的指令
(49)clear 清屏:清除终端屏幕上的所有信息
(50)ip: 显示或操作Linux主机的路由,网络设备,策略路由和隧道;
ip (选项)(参数)
选项:
-s: 显示更详细的信息;
-f: 强制使用指定的协议族;
-4:指定使用的网络协议是Ipv4协议;
-6:指定使用的网络协议是Ipv6协议;
-0:输出信息,每条信息显示一行,即使信息再多也不换行显示
-r: 显示主机时,不显示ip地址,而是使用主机的域名;
参数:
网络对象:指定要管理的网络对象
具体操作: 对指定的网络对象完成具体的操作;
help:显示网络对象支持的操作命令的帮助信息
(51)ifconfig 配置和显示Linux内核中网络接口中的网络参数
ifconfig (参数)
参数:
add<地址>: 设置网络Ipv6的ip地址;
del<地址>:删除网络Ipv6的ip地址;
IP地址:指定网络设备的ip地址;
网络设备:指定网络设备的名称;
down:关闭指定的网络设备
up: 启动指定的网络设备