目录

【Linux】Linux基础命令

学习网站

本篇博客改自CSDN:Linux命令行基础入门

帮助文档

Linux基本操作

Tab补全

Tab补全是非常有用的一个功能,可以用来自动补全命令或文件名,省时准确。

  • 未输入状态下连按两次 Tab 列出所有可用命令

  • 已输入部分命令名或文件名,按 Tab 进行自动补全

帮助指令

man命令:Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

info命令info显示Linux下info格式的帮助指令。就内容来说,info页面比man page编写得要更好、更容易理解,也更友好,但man page使用起来确实要更容易得多。

help命令:用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。

Linux基础命令

cd (change directory)

cd命令用来切换工作目录至dirname。其中dirName表示法可为绝对路径或相对路径。

# 进入用户主目录
[root@localhost ~] cd ~ 
# 返回进入此目录之前所在的目录
[root@localhost ~] cd -
# 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);  
[root@localhost ~] cd ..
# 返回上两级目录
[root@localhost ~] cd ../..
# 把上个命令的参数作为cd参数使用。  
[root@localhost ~] cd !$

pwd (print working directory)

pwd命令以绝对路径的方式显示用户当前工作目录。

[root@localhost ~] pwd

mkdir (make directory)

mkdir命令用来创建目录。

mkdir <dirname>该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。

在创建目录时,应保证新建的目录与它所在目录下的文件没有重名(只有字母大小写不同的目录无法被创建)。

cp (copy)

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息。

# 将文件file复制到目录/usr/men/tmp下,并改名为file1
[root@localhost ~] cp file /usr/men/tmp/file1
# 复制目录aaa下所有文件到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。
[root@localhost ~] cp aaa/* /bbb

mv (move)

mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中,将一组文件移至一个目标目录中。

# 重命名,将~目录下的文件名frank.html修改为abby.html
[root@localhost ~] mv frank.html abby.html
# 将目录/usr/men中的所有文件移到当前目录(用.表示)中
[root@localhost ~] mv /usr/men/* .

touch

touch命令有两个功能:

  • 用来创建新的空文件
  • 用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来
# 在当前目录下建立一个空文件ex2,然后,利用ls -l命令可以发现文件ex2的大小为0,表示它是空文件。
[root@localhost ~] touch ex2

rm (remove)

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意

使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。

rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

千万不要随便尝试rm -rf /这个命令行,否则系统会GG了。

# 删除当前目录下除隐含文件外的所有文件和子目录
[root@localhost ~] rm -r *
# 删除当前目录下,后缀为.cmd的所有文件
[root@localhost ~] rm *.cmd

ls (list)

ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

# 显示当前目录下非隐藏文件与目录
[root@localhost ~] ls
# 显示当前目录下包括隐藏文件在内的所有文件列表(这里要注意:.开头的文件就是隐藏文件)
[root@localhost ~] ls -a
# 输出长格式列表
[root@localhost ~] ls -l
# 查看文件大小更适合阅读的方式,可以加上-h(h = human)人类更适合阅读的方式。
[root@localhost ~] ls -lh

find

find命令用来在指定目录下查找文件。

# 在/home目录下查找以.txt结尾的文件名
[root@localhost ~] find /home -name "*.txt"
# 基于正则表达式匹配文件路径
[root@localhost ~] find . -regex ".*\(\.txt\|\.pdf\)$"

locate/slocate

locate命令和slocate命令都用来查找文件或目录。

# 搜索etc目录下所有以sh开头的文件
[root@localhost ~] locate /etc/sh
# 搜索用户主目录下,所有以m开头的文件
[root@localhost ~] locate ~/m
# 搜索用户主目录下,所有以m开头的文件,并且忽略大小写
[root@localhost ~] locate -i ~/m

wget

wget命令用来从指定的URL下载文件。

wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次连到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

# 使用wget下载单个文件
[root@localhost ~] wget http://www.linuxde.net/testfile.zip
# 使用wget后台下载
[root@localhost ~] wget -b http://www.linuxde.net/testfile.zip
# 当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。我们可以增加--spider参数进行检查。
[root@localhost ~] wget --spider URL
# 下载多个文件(filelist.txt保存了url信息,每行一个URL链接)
[root@localhost ~] wget -i filelist.txt

用户权限设置(chmod)

chmodchmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。

权限范围的表示法如下:

  • u:User,即文件或目录的拥有者;
  • g:Group,即文件或目录的所属群组;
  • o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
  • a:All,即全部的用户,包含拥有者,所属群组以及其他用户;
  • r:读取权限,数字代号为“4”;
  • w:写入权限,数字代号为“2”;
  • x:执行或切换权限,数字代号为“1”;
  • -:不具任何权限,数字代号为“0”;
  • s:特殊功能说明:变更文件或目录的权限。

/lin/chm.png

vi/vim,nano

vi/vim

它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

LinuxVim学习 | 菜鸟教程

nano

nano是一个字符终端的文本编辑器,有点像DOS下的editor程序。它比vi/vim要简单得多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。

如果你没有安装nano编辑器的话,可以使用yum进行安装:yum -y install nano

Nano命令集