`
Eileenlml
  • 浏览: 72507 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

基础命令

阅读更多

发送邮件

可以使用mail命令发送和接收邮件,语法如下:

$mail [-s subject] [-c cc-addr] [-b bcc-addr] to-addr

每个选项的含义如下:

选项 描述
-s 邮件标题。
-c 要发送的用户,多个用户以逗号(,)分隔。
-b 需要密件发送(密送)的用户,多个用户以逗号(,)分隔。


例如,向admin@yahoo.com发送邮件:

$mail -s "Test Message" admin@yahoo.com
Hello everyone, 
this is Linux tutorial and url is http://see.xidian.edu.cn/cpp/linux/.
Cc: 

第一行是输入的命令,-s表示邮件的主题,后面的admin@yahoo.com则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,你可以输入任何文字,比如上面的两行。输入完邮件正文,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。

也可以通过重定向操作符 < 来发送文件:

$mail -s "Report 05/06/07" admin@yahoo.com < demo.txt

通过上面的命令,就可以把demol.txt文件的内容作为邮件的内容发送给admin@yahoo.com了。

 

 

查看文件

查看当前目录下的文件和目录可以使用 ls 命令

通过 ls 命令的 -l 选项,你可以获取更多文件信息

通过 ls 命令的 -l 选项,你可以获取更多文件信息

创建文件

在Linux中,可以使用 vi 编辑器创建一个文本文件,例如:

$ vi filename

上面的命令会创建文件 filename 并打开,按下 i 键即可进入编辑模式,你可以向文件中写入内容。例如:

This is Linux file....I created it for the first time.....
I'm going to save this content in this file.

完成编辑后,可以按 esc 键退出编辑模式

:wq 保存并退出

:q退出

查看文件内容

可以使用 cat 命令来查看文件内容,下面是一个简单的例子:

$ cat filename
This is Linux file....I created it for the first time.....
I'm going to save this content in this file.
$

可以通过 cat 命令的 -b 选项来显示行号,例如:

$ cat -b filename
1   This is Linux file....I created it for the first time.....
2   I'm going to save this content in this file.
$

统计单词数目

可以使用 wc 命令来统计当前文件的行数、单词数和字符数,下面是一个简单的例子:

$ wc filename
2  19 103 filename
$

每一列的含义如下:

  • 第一列:文件的总行数
  • 第二列:单词数目
  • 第三列:文件的字节数,即文件的大小
  • 第四列:文件名


也可以一次查看多个文件的内容,例如:

$ wc filename1 filename2 filename3

复制文件

可以使用 cp 命令来复制文件。cp 命令的基本语法如下:

$ cp source_file destination_file

下面的例子将会复制 filename 文件:

$ cp filename copyfile
$

现在在当前目录中会多出一个和 filename 一模一样的 copyfile 文件。

重命名文件

重命名文件可以使用 mv 命令,语法为:

$ mv old_file new_file

下面的例子将会把 filename 文件重命名为 newfile:

$ mv filename newfile
$

现在在当前目录下,只有一个 newfile 文件。

mv 命令其实是一个移动文件的命令,不但可以更改文件的路径,也可以更改文件名。

删除文件

rm命令可以删除文件,语法为:

$ rm filename

注意:删除文件是一种危险的行为,因为文件内可能包含有用信息,建议结合 -i 选项来使用 rm 命令。

下面的例子会彻底删除一个文件:

$ rm filename
$

你也可以一次删除多个文件:$ rm filename1 filename2 filename3

主目录

登录后,你所在的位置就是你的主目录(或登录目录),接下来你主要是在这个目录下进行操作,如创建文件、删除文件等。

使用下面的命令可以随时进入主目录:
$cd ~
$
这里 ~ 就表示主目录。如果你希望进入其他用户的主目录,可以使用下面的命令:
$cd ~username
$
返回进入当前目录前所在的目录可以使用下面的命令:
$cd -
$

绝对路径和相对路径

Linux 的目录有清晰的层次结构,/ 代表根目录,所有的目录都位于 / 下面;文件在层次结构中的位置可以用路径来表示。

如果一个路径以 / 开头,就称为绝对路径;它表示当前文件与根目录的关系。举例如下:
/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3
不以 / 开头的路径称为相对路径,它表示文件与当前目录的关系。例如:
chem/notes
personal/res
获取当前所在的目录可以使用 pwd 命令:
$pwd
/user0/home/amrood

$
查看目录中的文件可以使用 ls 命令:
$ls dirname
下面的例子将遍历 /usr/local 目录下的文件:
$ls /usr/local

X11       bin          gimp       jikes       sbin
ace       doc          include    lib         share
atalk     etc          info       man         ami

创建目录

可以使用 mkdir 命令来创建目录,语法为:
$mkdir dirname
dirname 可以为绝对路径,也可以为相对路径。例如
$mkdir mydir
$
会在当前目录下创建 mydir 目录。又如
$mkdir /tmp/test-dir
$
会在 /tmp 目录下创建 test-dir 目录。mkdir 成功创建目录后不会输出任何信息。

也可以使用 mkdir 命令同时创建多个目录,例如
$mkdir docs pub
$
会在当前目录下创建 docs 和 pub 两个目录。

创建父目录

使用 mkdir 命令创建目录时,如果上级目录不存在,就会报错。下面的例子中,mkdir 会输出错误信息:
$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test";
No such file or directory
$
为 mkdir 命令增加 -p 选项,可以一级一级创建所需要的目录,即使上级目录不存在也不会报错。例如
$mkdir -p /tmp/amrood/test
$
会创建所有不存在的上级目录。

删除目录

可以使用 rmdir 命令来删除目录,例如:
$rmdir dirname
$
注意:删除目录时请确保目录为空,不会包含其他文件或目录。

也可以使用 rmdir 命令同时删除多个目录:
$rmdir dirname1 dirname2 dirname3
$
如果 dirname1、dirname2、dirname3 为空,就会被删除。rmdir 成功删除目录后不会输出任何信息。

改变所在目录

可以使用 cd 命令来改变当前所在目录,进入任何有权限的目录,语法为:
$cd dirname
dirname 为路径,可以为相对路径,也可以为绝对路径。例如
$cd /usr/local/bin
$
可以进入 /usr/local/bin 目录。可以使用相对路径从这个目录进入 /usr/home/amrood 目录:
$cd ../../home/amrood
$

重命名目录

mv (move) 命令也可以用来重命名目录,语法为:
$mv olddir newdir
下面的例子将会把 mydir 目录重命名为 yourdir 目录:
$mv mydir yourdir
$

点号(.)

一个点号(.)表示当前目录,两个点号(..)表示上级目录(父目录)。

ls 命令的 -a 选项可以查看所有文件,包括隐藏文件;-l 选项可以查看文件的所有信息,共有7列。例如:
$ls -la
drwxrwxr-x    4    teacher   class   2048  Jul 16 17.56 .
drwxr-xr-x    60   root              1536  Jul 13 14:18 ..
----------    1    teacher   class   4210  May 1 08:27 .profile
-rwxr-xr-x    1    teacher   class   1948  May 12 13:42 memo
$

查看文件权限

使用 ls -l 命令可以查看与文件权限相关的信息:
$ls -l /home/amrood
-rwxr-xr--  1 amrood   users 1024  Nov 2 00:10  myfile
drwxr-xr--- 1 amrood   users 1024  Nov 2 00:10  mydir
第一列就包含了文件或目录的权限。

第一列的字符可以分为三组,每一组有三个,每个字符都代表不同的权限,分别为读取(r)、写入(w)和执行(x):
  • 第一组字符(2-4)表示文件所有者的权限,-rwxr-xr-- 表示所有者拥有读取(r)、写入(w)和执行(x)的权限。
  • 第二组字符(5-7)表示文件所属用户组的权限,-rwxr-xr-- 表示该组拥有读取(r)和执行(x)的权限,但没有写入权限。
  • 第三组字符(8-10)表示所有其他用户的权限,rwxr-xr-- 表示其他用户只能读取(r)文件。

文件访问模式

文件权限是Linux系统的第一道安全防线,基本的权限有读取(r)、写入(w)和执行(x):
  • 读取:用户能够读取文件信息,查看文件内容。
  • 写入:用户可以编辑文件,可以向文件写入内容,也可以删除文件内容。
  • 执行:用户可以将文件作为程序来运行。

目录访问模式

目录的访问模式和文件类似,但是稍有不同:
  • 读取:用户可以查看目录中的文件
  • 写入:用户可以在当前目录中删除文件或创建文件
  • 执行:执行权限赋予用户遍历目录的权利,例如执行 cd 和 ls 命令。

改变权限

可以使用 chmod (change mode) 命令来改变文件或目录的访问权限,权限可以使用符号或数字来表示。

 

使用数字表示权限

除了符号,也可以使用八进制数字来指定具体权限,如下表所示:

数字 说明 权限
0 没有任何权限 ---
1 执行权限 --x
2 写入权限 -w-
3 执行权限和写入权限:1 (执行) + 2 (写入) = 3 -wx
4 读取权限 r--
5 读取和执行权限:4 (读取) + 1 (执行) = 5 r-x
6 读取和写入权限:4 (读取) + 2 (写入) = 6 rw-
7 所有权限: 4 (读取) + 2 (写入) + 1 (执行) = 7 rwx


下面的例子,首先使用 ls -1 命令查看 testfile 文件的权限,然后使用 chmod 命令更改权限:

$ls -l testfile
-rwxrwxr--  1 amrood   users 1024  Nov 2 00:10  testfile
$ chmod 755 testfile
$ls -l testfile
-rwxr-xr-x  1 amrood   users 1024  Nov 2 00:10  testfile
$chmod 743 testfile
$ls -l testfile
-rwxr---wx  1 amrood   users 1024  Nov 2 00:10  testfile
$chmod 043 testfile
$ls -l testfile
----r---wx  1 amrood   users 1024  Nov 2 00:10  testfile

更改所有者和用户组

在Linux中,每添加一个新用户,就会为它分配一个用户ID和群组ID,上面提到的文件权限也是基于用户和群组来分配的。

有两个命令可以改变文件的所有者或群组:

  • chown:chown 命令是"change owner"的缩写,用来改变文件的所有者。
  • chgrp:chgrp 命令是"change group"的缩写,用来改变文件所在的群组。


chown 命令用来更改文件所有者,其语法如下:

$ chown user filelist

user 可以是用户名或用户ID,例如

$ chown amrood testfile
$

将 testfile 文件的所有者改为 amrood。

注意:超级用户 root 可以不受限制的更改文件的所有者和用户组,但是普通用户只能更改所有者是自己的文件或目录。

chgrp 命令用来改变文件所属群组,其语法为:

$ chgrp group filelist

group可以是群组名或群组ID,例如

$ chgrp special testfile
$

将文件 testfile 的群组改为 special。

$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/amrood/bin:/usr/local/bin
管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

能够接受数据,过滤(处理或筛选)后再输出的工具,称为过滤器。

grep命令

grep 是一个强大的文本搜索工具,可以使用正则表达式,并返回匹配的行,语法为:
$grep pattern file(s)
“grep”源于 ed(Linux的一个行文本编辑器)的 g/re/p 命令,g/re/p 是“globally search for a regular expression and print all lines containing it”的缩写,意思是使用正则表达式进行全局检索,并把匹配的行打印出来。

grep 可以看做是一个过滤器,如果没有为 grep 指定要检索的文件,那么它会从标准输入设备(一般是键盘)读取;其他过滤器也是如此。

grep 命令最简单的使用就是检索包含固定字符的文本。

例如,在管道中使用 grep 命令,只允许包含指定字符的行输出到显示器:
$ls -l | grep "Aug"
-rw-rw-rw-   1 john  doc     11008 Aug  6 14:10 ch02
-rw-rw-rw-   1 john  doc      8515 Aug  6 15:30 ch07
-rw-rw-r--   1 john  doc      2488 Aug 15 10:51 intro
-rw-rw-r--   1 carol doc      1605 Aug 23 07:35 macros
$
grep 命令有很多选项:
选项 说明
-v 反转查询,输出不匹配的行。例如,grep -v "test" demo.txt 将输出不包含"test"的行。
-n 输出匹配的行以及行号。
-l 输出匹配的行所在的文件名。
-c 输出匹配的总行数。
-i 不区分大小写进行匹配。
下面我们使用正则表达式来匹配这样的行:包含字符“carol”,然后包含任意数目(含零个)的其他字符,最后还要包含“Aug”。

使用 -i 选项进行不区分大小写的匹配:
$ls -l | grep -i "carol.*aug"
-rw-rw-r--   1 carol doc      1605 Aug 23 07:35 macros
$

sort命令

sort 命令在 Linux 中非常有用,它将文件中的各行按字母或数进行排序。sort命令既可以从特定的文件,也可以从stdin获取输入

通过下面的选项可以控制排序规则:

选项 描述
-n 按照数字大小排序,例如,10会排在2后面;-n 选项会忽略空格或 tab缩进。
-r 降序排序。sort 默认是升序排序。
-f 不区分大小写。
+x 对第x列(从0开始)进行排序。


下面的例子通过管道将 ls、grep 和 sort 命令连起来使用,过滤包含“Aug”的行,并按照文件大小排序:

$ls -l | grep "Aug" | sort +4n
-rw-rw-r--  1 carol doc      1605 Aug 23 07:35 macros
-rw-rw-r--  1 john  doc      2488 Aug 15 10:51 intro
-rw-rw-rw-  1 john  doc      8515 Aug  6 15:30 ch07
-rw-rw-rw-  1 john  doc     11008 Aug  6 14:10 ch02
$

上面的命令,对当前目录中八月份修改的文件按照大小排序;+4n 表示对第5列按照数字大小排序。

pg和more命令

如果文件内容过多,全部显示会很乱,可以使用 pg 和 more 命令分页显示,每次只显示一屏。

例如,通过管道,使用more命令显示目录中的文件:

$ls -l | grep "Aug" | sort +4n | more
-rw-rw-r--  1 carol doc      1605 Aug 23 07:35 macros
-rw-rw-r--  1 john  doc      2488 Aug 15 10:51 intro
-rw-rw-rw-  1 john  doc      8515 Aug  6 15:30 ch07
-rw-rw-r--  1 john  doc     14827 Aug  9 12:40 ch03
.
.
.
-rw-rw-rw-  1 john  doc     16867 Aug  6 15:56 ch05
--More--(74%)

如上,一次只显示一屏文本,显示满后,停下来,并提示已显示全部内容的百分比,按空格键(space)可以查看下一屏,按 b 键可以查看上一屏。

 

 

http://c.biancheng.net/cpp/html/2735.html

 

 




分享到:
评论

相关推荐

    Linux基础命令及其解释--基础篇

    在Linux操作系统中,掌握基础命令是使用和管理系统的必备技能。Linux命令行提供了一种高效且灵活的方式来执行各种任务,从文件操作到系统管理,无一不在其涵盖范围之内。以下是一些常见的Linux基础命令及其详细解释...

    OpenVMS基础命令.pdf

    OpenVMS是一款由Hewlett-Packard公司开发的操作系统,主要用于各类计算机系统。OpenVMS以其高可靠性、...不过,以上介绍的基础命令基本上已经覆盖了OpenVMS操作系统的主要操作,用户可以根据自己的需求进行选择和使用。

    嵌入式linux的基础命令

    嵌入式Linux的基础命令是操作系统管理员和开发人员日常工作中不...学习这些基本命令并熟练运用,能够使你在嵌入式Linux开发和维护中游刃有余。通过实践和实验,你可以更深入地理解和掌握这些工具,提升你的Linux技能。

    H3C华为交换机配置基本命令.pdf

    H3C华为交换机配置基本命令 H3C华为交换机配置基本命令.pdf文件提供了H3C华为交换机的基本配置命令,包括用户身份验证、vlan配置、端口配置、路由器配置等方面的命令。 1. 用户身份验证: 在H3C华为交换机中,...

    linux基础命令

    本篇文章将详细介绍Linux的一些基本命令,包括less、tail、head和man,这些都是日常系统管理和运维工作中常用的工具。 首先,`less`命令用于分屏显示文本文件的内容。在Linux环境中,如果一个文件内容过多,无法一...

    linux基础命令总结pdf版本

    Linux基础命令是Linux操作系统中用于管理文件、目录、硬件设备和执行系统管理任务的基本指令。掌握这些基础命令对于使用Linux系统至关重要。以下是根据提供的文件内容总结出的一些Linux基础命令知识点: 一、文件和...

    linux基础命令课程

    通过以上梳理的知识点,我们可以了解到Linux基础命令课程不仅涵盖了基本命令的学习,还深入介绍了Linux系统的核心组成部分,如目录结构、文件管理和用户管理等内容。这对于初学者来说是非常宝贵的学习资源。

    2.1-WAS基本命令操作

    以下是关于WAS基本命令操作的详细说明: 一、启动服务器命令:`startServer.bat` 启动WAS服务器的关键命令是`startServer.bat`,它位于`WAS_home\profiles\AppSrv01\bin`目录下,这里的`AppSrv01`代表的是创建的...

    华为华三思科锐捷基础命令目前最全的

    基本命令 * `display`:显示当前配置 * `show`:显示当前配置(与display相同) * `system-view`:进入配置模式 * `enable`:启用命令,进入特权模式 * `config terminal`:进入配置模式 * `quit`:退出当前模式 * ...

    Linux基础命令学习Linux基础命令学习

    Linux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chm

    Linux基本命令操作实验报告

    ### Linux基本命令操作实验报告知识点总结 #### 一、实验目的 - **了解Linux用户界面**:本实验旨在让学生理解Linux系统中用户交互的方式,包括命令行界面和图形用户界面。 - **掌握常用命令**:重点是让学生熟练...

    Linux基础命令教程(豪华版)

    Linux基础命令教程(豪华版) 豪华版主张学到更多的Linux命令知识。  从这里开始学习Linux命令,本课程让你更清楚地了解和掌握它,在Linux中命令是讲究大小写的,所以请管好你的Caps Lock键。  不用担心,Linux命令...

    Linux基础命令 基础命令

    根据提供的文件信息,本文将对Linux基础命令进行详细介绍,包括命令的基本使用方法及其应用场景。 ### Linux基础命令 #### Shell Shell作为Linux系统的核心组件之一,起到了连接用户与操作系统内核之间的桥梁作用...

    linux基本命令大全.pdf

    Linux 基本命令大全 本文档旨在总结 Linux 系统中常用的基本命令,涵盖用户管理、文件管理、目录管理、权限管理、磁盘管理、进程管理、网络管理等方面。 用户管理 * useradd 创建用户 * usermod 修改用户信息 * ...

    网络基本命令

    网络基本命令,主要介绍常用DOS命令

    Linux系统基础命令

    Linux操作系统是目前服务器操作系统的主流选择,它的命令行操作方式不同于Windows系统和MAC OS系统,需要用户了解基本命令的使用。 目录及文件 在Linux系统中,目录和文件是非常重要的概念。目录是文件系统的组织...

Global site tag (gtag.js) - Google Analytics