十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Linux命令通常由以下三部分组成:
成都地区优秀IDC服务器托管提供商(创新互联建站).为客户提供专业的四川移动机房托管,四川各地服务器托管,四川移动机房托管、多线服务器托管.托管咨询专线:18982081108
Command [-option] [argument]
其中Command即是要运行命令的本身,说白了就是一个软件(程序)
Option的话是可选的,即有些命令是没有选项的,选项(也有人称之为参数,因为从编程的角度来说,它就是参数),选项是控制命令运行状态和行为的。
argument是参数,是命令要操作的文件、路径、数据等,也是可选的,因为有些命令不需要操作这些内容。
打个比方:以做饭为例,做饭就是命令,而我们可以加一些选项,比如:快速的、美味的
而参数就是食材,所以我们可以说“做一顿美味的红烧肉。”
如果你是新手的话,推荐去看看鸟哥的书(比较厚,不作为主要推荐),主要推荐《Linux就该这么学》这本书(免费的电子书,百度一下就知道了),以最新的Redhat7为环境,详细的介绍了linux遇到的方方面面,有什么问题还可以去官方论坛提问,非常棒!
echo "HelloWorld"
向控制台输出HelloWorld信息
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
ls test.txt
test.txt 如果不存在,则创建,存在则覆盖其内容
注意: 输出重定向会覆盖原来的内容, 输出重定向则会追加到文件的尾部
cat xxx.py 可以用来快速查看某个文件内容,输出到控制台
cat test.txt haha.txt 将test.txt的内容追加到haha.txt中
cat 1.txt 2.txt 1_2.txt 将1.txt 2.txt内容合并到1_2.txt中
分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,从头开始,每次只显示一页,空格键显示下一页,b键上一页,按下q键退出显示,按下h键可以获取帮助。
more xxx.py
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。即管道左边的输出结果作为管道右侧的参数
cat info.txt | more
tree | more
::: warning
more管道符读到的内容只能前进,不能后退;只能使用空格或回车向下看,不能使用b回看
:::
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
ln -s 源文件 链接文件
ln 源文件 链接文件
没有-s 选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,一般用于保护系统重要的文件。所以-s选项是更常见的形式。
::: warning 注意
如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
:::
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:
在grep命令中输入字符串参数时,最好用引号或双引号括起来。
例如:
从某个文件搜索
搜索当前目录所有文件
常用选项说明:**
grep搜索内容串可以是正则表达式。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
grep常用正则表达式:
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式:
tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
注意:除了f需要放在参数的最后,其它参数的顺序任意。
常用命令:
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。也会见到缩写的.tgz这种扩展名。
gzip使用格式如下:
常用选项:
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项 -z 可以调用gzip实现压缩的功能,最终实行一个先打包后压缩的过程。
-z :指定压缩包的格式为 xxx.tar.gz
tar压缩: tar zcvf xxx.tar.gz 文件1 文件2 ...
tar解压: tar zxvf xxx.tar.gz
解压到指定目录: tar zxvf xxx.tar.gz -C target_dir/ (大写字母“C”)
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法 : tar -jcvf 压缩包包名 文件1 文件2... (例: tar jcvf bak.tar.bz2 *.c )
解压用法 : tar -jxvf 压缩包包名 (例: tar jxvf bak.tar.bz2 )
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件 :zip [-r] 目标文件(没有扩展名) 源文件
解压文件 :unzip -d 解压后目录文件 压缩文件
使用tree命令可以查看指定目录的树状结构
有时我们想知道被执行的命令在哪个目录,以方便切换或更新不同版本,如Python。可以使用 which 命令
文件内容为:123 aaa bbb哈
执行 echo "123 aaa bbb哈" xxx.txt
wc -l xxx.txt 文件内容的行数1
wc -w xxx.txt 文件内容的单词数3
wc -c xxx.txt 文件内容的字节数15
wc xxx.txt 文件内容的行数,单词数,字节数1 3 15
wc -m xxx.txt 文件的字符数13
sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用。一般用于自动编辑转换程序,动态调整文件内容。
sed 's/good/GOODS/' file 替换每行第一个指定字符串(输出所有行)
sed -n 's/good/GOODS/p' file 替换每行第一个指定字符串(只输出替换的行)
sed -i 's/good/GOODS/g' file 替换所有指定字符串,并应用到文件
sed '2d' file 删除第二行
sed '/^test/d' 删除good开头的行
sed -n '3p' file 打印第3行
显示当前时间 # Tue May 7 14:35:31 DST 2019
当前日期和时间 # 20190507-14:34:25
使用history命令可以查看之前输过的命令及其id,
使用 !id 的形式,可以快速执行指定历史命令
Linux命令大全:
菜鸟Linux命令:
linux常用命令(基础)
1. man 对你熟悉或不熟悉的命令提供帮助解释
eg:man ls 就可以查看ls相关的用法
注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。
2. ls 查看目录或者文件的属*,列举出任一目录下面的文件
eg: ls /usr/man
ls -l
a.d表示目录(directory),如果是一个”-”表示是文件,如果是l则表示是一个连接文件(link)
b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。
3. cp 拷贝文件
eg: cp filename1 filename2 //把filename1拷贝成filename2
cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c
4. rm 删除文件和目录
eg: rm 1.c //将1.c这个文件删除
5. mv 移走目录或者改文件名
eg: mv filename1 filename2 //将filename1 改名为filename2
mv qib.tgz ../qib.tgz //移到上一级目录
6. cd 改变当前目录 pwd 查看当前所在目录完整路径
eg: pwd //查看当前所在目录路径
cd netseek //进入netseek这个目录
cd //退出当前目录
7. cat,more命令
将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
eg; cat1.c //就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。
cat 1.c 或more 1.c //都可以查看里面的内容。
gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码。
8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename。
eg: chmod u+x filenmame //只想给自己运行,别人只能读
//u表示文件主人, g 表示文件文件所在组。 o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
chmod g+x filename //同组的人来执行
9. clear,date命令
clear:清屏,相当与DOS下的cls;date:显示当前时间。
10. mount 加载一个硬件设备
用法:mount [参数] 要加载的设备 载入点
eg: mount /dev/cdrom
cd /mnt/cdrom //进入光盘目录
11. su 在不退出登陆的情况下,切换到另外一个人的身份
用法: su -l 用户名(如果用户名缺省,则切换到root状态)
eg:su -l netseek (切换到netseek这个用户,将提示输入密码)
12.whoami,whereis,which,id
//whoami:确认自己身份
//whereis:查询命令所在目录以及帮助文档所在目录
//which:查询该命令所在目录(类似whereis)
//id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)
eg: whoami //显示你自已登陆的用户名
whereis bin 显示bin所在的目录,将显示为:/usr/local/bin
which bin
13. grep,find
grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
eg: grep success * /*查找当前目录下面所有文件里面含有success字符的文件
14. kill 可以杀死某个正在进行或者已经是dest状态的进程
eg; ps ax
15. passwd 可以设置口令
16. history 用户用过的命令
eg: history //可以显示用户过去使用的命令
17. !! 执行最近一次的命令
18. mkdir命令
eg: mkdir netseek //创建netseek这个目录
19. tar 解压命令
eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个目录里
20. finger 可以让使用者查询一些其他使用者的资料
eg: finger //查看所用用户的使用资料
finger root //查看root的资料
Linux常用指令
(1)指令名称:pwd
pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。
(2)指令名称:cd
cd命令不仅显示当前状态,还改变当前状态,它的用法跟dos下的cd命令基本一致。
cd ..可进入上一层目录
cd -可进入上一个进入的目录
cd ~可进入用户的home目录
(3)指令名称:cp
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
参数 说明
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished
(4)名称:mv
使用方式:mv [options] source dest
mv [options] source... directory
说明:将一个档案移至另一档案,或将数个档案移至另一目录。
参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。
范例:
将档案 aaa 更名为 bbb :
mv aaa bbb
将所有的C语言程序移至 Finished 子目录中 :
mv -i *.c /Finished
(5)指令名称 : chmod
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
mode : 权限设定字串,格式如下 : [ugoa...][+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
参数 说明
-c 若该档案权限确实已经更改,才显示其更改动作
-f 若该档案权限无法被更改也不要显示错误讯息
-v 显示权限变更的详细资料
-R 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
若用chmod 4755 filename可使此程式具有root的权限
(6)指令名称 : ls
使用方式 : ls [-alrtAFR] [name...]
说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数 说明
-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r 将档案以相反次序显示(原定依英文字母次序)
-t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有档案,则以下之档案亦皆依序列出
范例:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
ls -ltr s*
将 /bin 目录以下所有目录及档案详细资料列出 :
ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
ls -AF
(7)指令名称:rm
使用方式:rm [options] name...
说明:删除档案及目录。
参数 说明
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程式档;删除前逐一询问确认 :
rm -i *.c
将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished
(8)指令名称:rmdir
使用方式: rmdir [-p] dirName
说明: 删除空的目录。
参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例:
将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test
(9)指令名称:touch
使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[CC]YY][.ss]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
说明:
touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。
参数 说明
a 改变档案的读取时间记录
m 改变档案的修改时间记录
c 假如目的档案不存在,不会建立新的档案。
f 不使用,是为了与其他 unix 系统的相容性而保留
r 使用参考档的时间记录,与 --file 的效果一样
d 设定时间与日期,可以使用各种不同的格式
t 设定档案的时间记录,格式与 date 指令相同
范例:
最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。
touch file
touch file1 file2
将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。
touch -c -t 05061803 file
touch -c -t 050618032000 file
将 file 的时间记录改变成与 referencefile 一样。
touch -r referencefile file
将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。
touch -d "6:03pm" file
touch -d "05/06/2000" file
touch -d "6:03pm 05/06/2000" file
(10)指令名称:gzip
说明:gzip命令用于压缩文件。
参数 : -d 将压缩文件解压
范例:
如果要将ye.txt文件压缩,可用如下命令:
gzip ye.txt
这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。
解压缩文件可用gzip -d命令实现:
gzip -d ye.txt.gz
这样就可以解压缩文件并删除gz扩展名。
(11)指令名称:tar
说明:tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
参数 说明
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。
f 使用档案文件或设备,这个选项通常是必选的。
m 在还原文件时,把所有文件的修改时间设定为现在。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
范例:
可用如下方法建立tar档案:
tar cvf
例如,如果要将当前目录中所有文件存档到ye.tar中,可用如下命令:
tar cvf ye.tar *.*
要浏览档案内容,将c选项变成t。如果要浏览ye.tar档案中的内容,可用如下命令:
tar tvf ye.tar
要取出档案内的内容,将c选项变成x。如果要将ye.tar档案中的内容取到当前目录中,可用如下命令:
tar xvf ye.tar
新版的tar可以直接访问和建立gzip压缩的tar档案,只要在tar命令中加上z 选项就可以了。例如:
生成压缩档案ye.tar.gz :
tar czvf ye.tar *.txt
显示压缩档案ye.tar.gz的内容:
tar tzvf ye.tar *.txt
取出压缩档案ye.tar.gz的内容:
tar xzvf ye.tar *.txt
(12)指令名称:mail
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
说明:
mail 不仅只是一个指令, mail 还是一个电子邮件程序。
参数:
s 邮件标题
c 邮件地址 (2个地址以上用,一个地址不用加此参数)
范例:
①将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。
mail user01@mcs.njnu.edu.cn
系统会提示输入“subject”
②将 mail.txt 的内容寄给yzhu@mcs.hpc.njnu.edu.cn ,同时抄送给root@mcs.hpc.njnu.edu.cn
mail -s “标题” -c yzhu@mcs.hpc.njnu.edu.cn root@mcs.hpc.njnu.edu.cn mail.txt
接收到的邮件都保存在目录 /var/spool/mail/用户名
(13)指令名称 : wall
使用方式 :
wall [ message ]
使用说明:
wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。
例子 :
传讯息"hi" 给每一个使用者 :
wall hi