在Linux早期的版本中,由于不支持图形化操作,用户基本上都是使用命令行方式来对系统进行操作。掌握常用 的一些Linux命令是非常有必要的,下面将分类进行介绍。由于篇幅有限,在这里我们介绍命令时有些不带参数
,有些只介绍部分参数。如果用户对某一个命令详细的了解的话,可以使用Man命令。例如,想了解ls命令的
详细信息,那么命令行书写格式如下:
[root @teacher root]# man ls
注:在Linux中命令是区分大小写的,如:Ls 跟 ls 是不一样的。

文件和目录操作的基本命令

1、pwd 命令

pwd 命令代表“print working directory”(打印工作目录)。当你键入 pwd 时,你是在请你的 Linux 系统显示
你的当前位置。例如:
[root@teacher apache]# pwd
/tmp/apache
表明你当前正处在/tmp/apache目录中。

2、cd 命令

cd 命令来改变工作目录。例如:

3、ls 命令

使用 ls 命令就可以显示你的当前目录的内容。ls 命令有许多可用的选项。要看到 ls 命令的所有选项,你可以
通过在 shell 提示下键入 man ls 来阅读其说明书页。下面是一个与 ls 一起使用的一些常用选项的简短列表。
-a — 全部(all)。列举目录中的全部文件,包括隐藏文件(.filename)。位于这个列表的起首处的 .. 和 . 依
次是指父目录和你的当前目录。
-l — 长(long)。列举目录内容的细节,包括权限(模式)、所有者、组群、大小、创建日期、文件是否是到
系统其它地方的链接,以及链接的指向。
-F — 文件类型(File type)。在每一个列举项目之后添加一个符号。这些符号包括:/ 表明是一个目录;@ 表
明是到其它文件的符号链接;* 表明是一个可执行文件。
-r — 逆向(reverse)。从后向前地列举目录中的内容。
-R — 递归(recursive)。该选项递归地列举所有目录(在当前目录之下)的内容。
-S — 大小(size)。按文件大小排序

4、locate 命令

有时候,你知道某一文件或目录存在,但却不知该到哪里去找到它。你可以使用 locate 命令来搜寻文件或目录

使用 locate 命令,你将会看到每一个包括搜寻条件的目录或文件。譬如,如果你想搜寻所有名称中带有 finger
这个词的文件,键入:
locate finger
locate 命令使用数据库来定位文件或目录名中带有 finger 这个词的文件和目录。这个搜寻结果可能会包括一个
叫做 finger.txt 的文件,一个叫做 pointerfinger.txt 的文件,一个被命名为 fingerthumbnails 的目录,诸如此类

5、clear 命令与6、cat 命令

clear 命令用于清除终端窗口。
cat是 concatenate(连锁)的简写,意思是合并文件。该命令可以显示文件的内容(经常和more搭配使用),
或者是将多个文件合并成一个文件。

7、head 命令

你可以使用 head 命令来查看文件的开头部分。此项命令是:
head 
head 是一个有用的命令,但是由于它只限于文件的最初几行,你看不到文件实际上有多长。按照默认设置,
你只能阅读文件的前十行。你可以通过指定一个数字选项来改变要显示的行数,如下面的命令所示:
head -20

8、tail 命令

与 head 命令恰恰相反的是 tail 命令。使用 tail 命令,你可以查看文件结尾的十行。这有助于查看日志文件的
最后十行来阅读重要的系统消息。你还可以使用 tail 来观察日志文件被更新的过程。使用 -f 选项,tail 会自动
实时地把打开文件中的新消息显示到屏幕上。例如,要即时观察 /var/log/messages的变化,以根用户身份在
shell 提示下键入以下命令:
tail -f /var/log/messages

9、grep 命令

grep 命令对于在文件中查找指定的字串很有用途。例如,如果你想在 sneakers.txt 文件中查找每一个提到“
coffee”的地方,你可以键入:
grep coffee sneakers.txt
你就会看到文件中带有“coffee”的每一行。

10、chmod 命令

chmod命令用于改变文件或目录的访问权限。
让我们先来看一看这个文件。在 shell 提示下,键入:
ls -l sneakers.txt
前面的命令显示了这个文件信息:
-rw-rw-r-- 1 test test 39 3月 11 12:04 sneakers.txt
这里提供了许多细节。你可以看到谁能读取(r)和写入(w)文件,以及谁创建了这个文件(test),所有者
所在的组群(test)。在组群右侧的信息包括文件大小、创建的日期和时间,以及文件名。
第一列显示了当前的权限;它有十位。第一位代表文件类型。其余九位实际上是用于三组不同用户的三组权限

那三组是:文件的所有者,文件所属的组群,和“其他人”,这是前面没有包括的用户和组群。
- (rw-) (rw-) (r--) 1 test test
| | | |
类型所有者 组群 其他人
第一个项目指定文件类型,它可以显示以下几种:
d — 目录
-(短线)— 常规文件(而不是目录或链接)
l — 到系统上其它位置的另一个程序或文件的符号链接
在第一个项目之后的三组中,你可以看到下面几种类型:
r — 文件可以被读取
w — 文件可以被写入
x — 文件可以被执行(如果它是程序的话)
当你在所有者、组群、或其他人中看到一个短线(“-”),这意味着相应的权限还没有被授予。可以看出以下
这句
-rw-rw-r-- 1 test test 39 3月 11 12:04 sneakers.txt

文件的所有者(这个情况下是 test)有读取和写入该文件的权限。组群 test 也有读取和写入 sneakers.txt 的权
限,其他组群没任何权限。它不是一个程序,因此所有者和组群都没有执行它的权限。
接下来我们用chmod来改变文件的权限,键入下面的命令:
chmod o+w sneakers.txt
o+w 命令告诉系统你想给其它人写入文件 sneakers.txt 的权限。要查看结果,再次列出文件的细节。现在,这
个文件看起来与下面的输出相仿:
-rw-rw-rw- 1 test test 39 3月 11 12:04 sneakers.txt
现在,每个人都可以读取和写入这个文件。
要从 sneakers.txt 中删除读写权限,使用 chmod 命令来取消读取和写入这两个的权限。
chmod go-rw sneakers.txt
通过键入 go-rw,你在告诉系统删除文件 sneakers.txt 中组群和其它人的读取和写入权限。结果与下面的输出
相似:
-rw------- 1 test test 39 3月 11 12:04 sneakers.txt
当你想用 chmod 命令来改变权限时,把它们当做速记符号来记忆,因为你实际要做的只是记住几个符号而已

下面是一个速记符号含义的列表:
身份
u — 拥有文件的用户(所有者)
g — 所有者所在的组群
o — 其他人(不是所有者或所有者的组群)
a — 每个人或全部(u、g、和 o)
权限
r — 读取权
w — 写入权
x — 执行权
行动
+ — 添加权限
- — 删除权限
= — 使它成为唯一权限
另外,也可以通过使用数字来改变权限。
每种权限设置都可以用一个数值来代表:
r = 4
w = 2
x = 1
- = 0
当这些值被加在一起,它的总和便用来设立特定的权限。譬如,如果你想有读取和写入的权限,你会得到一个
值为 6 的总和;4(读取)+ 2(写入)= 6。
sneakers.txt 文件的数字权限设置如下:
- (rw-) (rw-) (r--)
| | |
4+2+0 4+2+0 4+0+0
所有者的总和为6,组群的总和为6,其他人的总和为4。这个权限设置读作 664。
如果你想改变 sneakers.txt 文件的权限,因此你的组群中的人没有写入权,但是仍旧能够读取文件的话,从这
组数字中减掉2就可以删除写入权限了。
然后,这组数值就变成644。
要实现这些新设置,键入:
chmod 644 sneakers.txt
现在,列举这个文件来校验改变。键入:
ls -l sneakers.txt
输出应为:
-rw-r--r-- 1 test test 39 3月 11 12:04 sneakers.txt
现在,组群和其他人都没有了到文件 sneakers.txt 的写入权。
这里是一个某些常用设置、数值、以及它们的含义的列表:
-rw------- (600) — 只有所有者才有读取和写入的权限。
-rw-r--r-- (644) — 只有所有者才有读取和写入的权限;组群和其他人只有读取的权限。

-rwx------ (700) — 只有所有者才有读取、写入、和执行的权限。
-rwxr-xr-x (755) — 所有者有读取、写入、和执行的权限;组群和其他人只有读取和执行的权限。
-rwx--x--x (711) — 所有者有读取、写入、和执行权限;组群和其他人只有执行权限。
-rw-rw-rw- (666) — 每个人都能够读取和写入文件。(请谨慎使用这些权限。)
-rwxrwxrwx (777) — 每个人都能够读取、写入、和执行。(再重申一次,这种权限设置可能会很危险。)
下面列举了一些对目录的常见设置:
drwx------ (700) — 只有所有者能在目录中读取、写入。
drwxr-xr-x (755) — 每个人都能够读取目录,但是其中的内容却只能被所有者改变。

11、cp 命令

cp(copy)命令可以将文件或目录复制到其他目录中,就如同DOS下的copy命令一样,功能非常强大。在使用cp
命令时,只需要指定源文件名与目标文件名或目标目录即可。格式:
cp <源> <目标>

12、mv 命令

要移动文件,使用 mv 命令。mv 的常见选项包括:
-i — 互动。如果你选择的文件会覆盖目标中的现存文件,它会提示你。这是一个实用的选项,因为它象 cp 中
的 -i 选项一样,会给你一个确认替换已存文件的机会。
-f — 强制。它会超越互动模式,不提示地移动文件。除非你知道自己在干什么,这个选项很危险。在你对系统
信心十足之前,请谨慎使用这个选项。
-v — 详细。显示文件的移动进度。
如果你想把文件从你的主目录中移到另一个现存的目录中,键入以下命令(你需要位于你的主目录内):
mv sneakers.txt tigger
另外的方法是,用同一个命令,但使用绝对路径,如:
mv sneakers.txt /home/newuser/sneakers.txt /home/newuser/tigger

13.mkdir 命令

mkdir(make directory)命令用来建立目录。例如在系统中建立datal 子目录:
[root@teacher tmp]#mkdir datal

14.rm 命令

在Liunx中创建文件是很容易,这样系统中随时会有过时或无用的文件,用户可以用rm命令将其删除。该命令
可以删除目录中的文件或目录本身,对于链接文件,只是删除了该链接,原有文件保持不变。删除文件和目录
的选项包括:
-i — 互动。提示你确认删除。这个选项可以帮助你避免误删文件。
-f — 强制。代替互动模式,不提示地删除文件。除非你知道自己在干什么,使用这个选项通常不是明智之举。
-v — 详细。显示文件的删除进度。
-r — 递归。将会删除某个目录及其中所有的文件和子目录。
要使用 rm 命令来删除文件 piglet.txt,键入:
rm piglet.txt
另一个比使用 rm 更安全的删除目录的命令是 rmdir 命令。这个命令不允许你使用递归删除,因此不能删除包
含文件的目录。

海量Linux 技术文章

Linux 技术交流
http://www.linuxdiyf.com/bbs/forum-3-1.html
Linux 应用
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=3&filter=type&typeid=1
Linux 安装及学习指导
http://www.linuxdiyf.com/bbs/forum-45-1.html
Linux 系统安装
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=45&filter=type&typeid=11
Linux 学习指导
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=45&filter=type&typeid=12
Linux 软件安装
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=45&filter=type&typeid=13
shell
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=3&filter=type&typeid=3
Linux 壁纸
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=3&filter=type&typeid=4
红旗
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=3&filter=type&typeid=5
Redhat
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=3&filter=type&typeid=6
SuSE
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=3&filter=type&typeid=7

Linux 认证
http://www.linuxdiyf.com/bbs/forumdisplay.php?fid=3&filter=type&typeid=9
Linux下载分享{酷件、书籍、视频分享}
http://www.linuxdiyf.com/bbs/forum-6-1.html
服务器应用
http://www.linuxdiyf.com/bbs/forum-7-1.html
数据库应用
http://www.linuxdiyf.com/bbs/forum-8-1.html
Linux 编程与内核
http://www.linuxdiyf.com/bbs/forum-9-1.html
UniX 技术文章
http://www.linuxdiyf.com/bbs/forum-32-1.html
Linux 业界声音、新闻
http://www.linuxdiyf.com/bbs/forum-11-1.html
Linux 人才招聘信息
http://www.linuxdiyf.com/bbs/forum-46-1.html

最新文章

  1. Entity Framework 5.0 Code First全面学习
  2. BZOJ 2743: [HEOI2012]采花
  3. ZXingObjC 64位 集成到自己的项目中(xcode 6.4)
  4. windows临界区
  5. Eclipse+ADT+Android SDK 搭建安卓开发环境
  6. spring中注解事务认识
  7. Spring 3.2 ClassMetadataReadingVisitor 错误
  8. IO之内核buffer----&quot;buffer cache&quot;
  9. crm使用soap更改下拉框的文本值
  10. Swift - 多线程实现方式(1) - NSThread
  11. 【NOI2015】程序自动分析
  12. 【天坑】ASP.net WebAPI跨域调用问题
  13. 程序员的自我救赎---12.2.3: 虚拟币交易平台(区块链) 下 【C#与以太坊通讯】
  14. vivo如何录制手机视频 分享简单的操作方法
  15. 百度ueditor的图片上传,前后端交互使用
  16. HDU 1520.Anniversary party 基础的树形dp
  17. 发布xxl-job executor dotnet core 执行器的实现
  18. MyBatis传递参数
  19. Group by 分组查询 实战
  20. 记一发Hive on tez的配置(Hive 3.1.1, Hadoop 3.0.3, Tez 0.9.1)

热门文章

  1. IP地址的定义和划分
  2. 函数————count
  3. 「SCOI2016」背单词
  4. [CSP-S模拟测试]:玄学题/c(数学)
  5. php开发面试题---lavarel和tp的区别是什么(呕心整理)
  6. LOAD CSV ERROR: The used command is not allowed with this MySQL version
  7. UML的类型
  8. 64位系统sql链接oracle
  9. CMS 开发全过程介绍
  10. 301重定向将不带www的域名跳转到www的域名,403 Forbidden You don’t have permission to access the URL on this server