Linux命令与基本知识

一、基本知识

1、Linux内多有的数据都是以文件的形态呈现的。Linux系统中最重要的在于目录树结构。整个目录树结构最重要的是根目录,其表示方法为“/”。

2、挂载(mount):即将目录树结构的架构与磁盘内的数据结合起来。挂载利用一个目录作为进入点,将磁盘分区的数据放置在该目录下,也就是说,进入该目录就可以读取该分区。

树状目录结构


  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里
    ,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv: 该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

        sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。

     该文件系统是内核设备树的一个直观反映。

     当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp:这个目录是用来存放一些临时文件的。

  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin:系统用户使用的应用程序。

  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:内核源代码默认的放置目录。

  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

注:/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令


3、X Window

切换X Window与命令行模式(终端界面,6个):

    Ctrl + Alt +F1~F6  —— 文字界面登录tty1~tty6终端界面 ,run level 3(纯命令行模式)

    Ctrl + Alt +F7  —— 图形界面桌面 , run level 5(含有图形界面模式)

           注: run level 0:关机, run level 6:重启,可以使用init 切换执行等级。

命令行模式登录后所取得的程序被称为Shell,主要负责最外层的跟用户通信工作。


4、Tab键

(1)Tab接在一串命令的第一个命令的后面,为“命令补全”。eg.  ca(按两次Tab)

(2)Tab接在一串命令的第二个命令的后面,为“文件补全”。eg.  ls -al ~/.bash(按两次Tab)

Ctrl+C —— 中断目前的程序

Ctrl+D ——键盘输入结束,相当于exit


5、man命令——查看命令操作说明(man page),eg. man date

进入命令后,可以按下空格键翻页,按q离开man的环境。

DATE(1)            User Commands

其中DATE(1)中的(1)代表一般用户可使用的命令,

                                 (8)代表系统管理员可用的管理命令,

                               (5)是配置文件或者某些文件的格式,

                               (6)是游戏

man的简略写法:

    whatis  == man -f [命令或是数据]

    apropos == man -k [命令或是数据]

这两个特殊命令的使用必须要创建whatis数据库,以root的身份执行:makewhatis

info page和man page 的功能相同,都是用来查询命令的用法。但info page 中有类似于网页中的“超链接”,没个独立的页面也被称为一个节点(node)。


6、关机时需要注意的事情

(1)查看目前有谁在线——who命令


(2)查看网络的联机状态——netstat -a

(3)查看后台执行的程序——ps -aux

(4)通知在线用户关机的时刻——shutdown


(5)将数据同步写入硬盘——sync

(6)惯用的关机命令——shutdown (详情请见第二部分常用命令大全之(四)系统管理4)

(7)重启、关机——reboot,halt,poweroff


7、以root的身份登录Linux——sudo su

退出root用户:su [用户名]


(一)Linux的文件属性和权限

1、Linux的文件基本属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

在Linux中我们可以使用ll ls -l ,ls -al 命令来显示一个文件的属性以及文件所属的用户和组。

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 

要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。


2、Linux的文件权限和属性的更改

数字类型改变文件权限

chgrp——改变文件所属用户组

chgrp [-R] 属组名 文件名
  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

chown——改变文件所有者

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

chmod——改变文件的权限

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

  • r:4
  • w:2
  • x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0

所以等一下我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:

 chmod [-R] xyz 文件或目录

选项与参数:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
  • -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

举例来说,如果要将.bashrc这个文件所有的权限都设定启用,那么命令如下:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。


符号类型改变文件权限

可以藉由u, g, o来代表三种身份(所有者,用户组,其他人)的权限

此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x!也就是可以使用底下的方式来看:


# touch test1 // 创建 test1 文件如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

# ls -al test1    // 查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

#  chmod  a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

3、Linux目录配置和目录树

Linux目录配置标准:FHS

目录树:

(1)目录树的起点为根目录;

(2)每一个目录不只能使用本地端的文件系统,也可以使用网络上的文件系统,例如可以使用NFS服务器挂载某特定目录;

(3)每个文件在此目录树中的文件名都是独一无二的。



(二)Linux文件与目录管理

1、绝对路径和相对路径

2、目录的相关操作

(1)切换目录:cd

(2)特殊目录:


(3)处理目录的常用命令

  • ls: 列出目录
  • cd:切换目录
  • pwd:显示目前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件或目录,或更名

可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。


ls (列出目录)

[root@www ~]# ls [-aAdfFhilnrRSt] 目录名称
[root@www ~]# ls [--color={never,auto,always}] 目录名称
[root@www ~]# ls [--full-time] 目录名称

选项与参数:

  • -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
  • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

将家目录下的所有文件列出来(含属性与隐藏档)

[root@www ~]# ls -al ~
cd (切换目录)

cd [相对路径或绝对路径]
#使用 mkdir 命令创建 runoob 目录
[root@www ~]# mkdir runoob

#使用绝对路径切换到 runoob 目录
[root@www ~]# cd /root/runoob/

#使用相对路径切换到 runoob 目录
[root@www ~]# cd ./runoob/

# 表示回到自己的家目录,亦即是 /root 这个目录
[root@www runoob]# cd ~

# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@www ~]# cd ..

pwd (显示目前所在的目录)

[root@www ~]# pwd [-P]
选项与参数:
-P  :显示出确实的路径,而非使用连结 (link) 路径。

范例:单纯显示出目前的工作目录:
[root@www ~]# pwd
/root   <== 显示出目录啦~

范例:显示出实际的工作目录,而非连结档本身的目录名而已
[root@www ~]# cd /var/mail   <==注意,/var/mail是一个连结档
[root@www mail]# pwd
/var/mail         <==列出目前的工作目录
[root@www mail]# pwd -P
/var/spool/mail   <==怎么回事?有没有加 -P 差很多~
[root@www mail]# ls -ld /var/mail
lrwxrwxrwx 1 root root 10 Sep  4 17:54 /var/mail -> spool/mail
# 看到这里应该知道为啥了吧?因为 /var/mail 是连结档,连结到 /var/spool/mail 
# 所以,加上 pwd -P 的选项后,会不以连结档的数据显示,而是显示正确的完整路径啊!

mkdir (新建新目录)


rmdir (删除“空”的目录)


cp (复制文件或目录),创建连接文件(快捷方式)

用 root 身份,将 root 目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc

[root@www ~]# cp ~/.bashrc /tmp/bashrc
[root@www ~]# cp -i ~/.bashrc /tmp/bashrc
cp: overwrite `/tmp/bashrc'? n  <==n不覆盖,y为覆盖

rm (移除文件或目录)

 rm [-fir] 文件或目录

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

将刚刚在 cp 的范例中创建的 bashrc 删除掉!

[root@www tmp]# rm -i bashrc
rm: remove regular file `bashrc'? y
[root@www tmp]# rm -i bashrc*  #*匹配0到无穷多个任意字符!

如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名!

mv (移动文件或目录,或更名)




(4)文件内容查阅

  • cat  由第一行开始显示文件内容
  • tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl   显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行

cat (由第一行开始显示文件内容)


tac (与cat命令刚好相反,文件内容从最后一行开始显示)


nl (显示行号,添加行号打印)   对比:cat -n


more (一页一页翻动

less (一页一页翻动,但可以往前往后翻看

head (取出文件前面几行

head [-n number] 文件  
  • -n :后面接数字,代表显示几行的意思

tail (取出文件后面几行

tail [-n number] 文件 
  • -n :后面接数字,代表显示几行的意思
  • -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测

chattr (设置文件的隐藏属性

lsattr (显示文件的隐藏属性)

(5)查看文件类型——file


 (6)文件的查询

which——寻找执行文件


whereis——寻找特定文件

locate——寻找执行文件

locate [-d ][--help][--version][范本样式...]

参数:

  • -d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
  • --help  在线帮助。
  • --version  显示版本信息。

查找passwd文件,输入以下命令:

locate passwd

附加说明:

        locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。

        locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护。

find——寻找执行文件

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

# find . -name "*.c"

将目前目录其其下子目录中所有一般文件列出

# find . -type f

将目前目录及其子目录下所有最近 20 天内更新过的文件列出

# find . -ctime -20

查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:

# find /var/log -type f -mtime +7 -ok rm {} \;

查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:

# find . -type f -perm 644 -exec ls -l {} \;

为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:

# find / -type f -size 0 -exec ls -l {} \;

如果想要找出『4 天内被更动过的文件档名』可以使用『 find /var -mtime -4 』。

如果是『4 天前的那一天』就用『 find /var -mtime 4 』。

         +4 代表大于等于 5 天前的檔名:ex> find /var -mtime +4

          -4 代表小于等于 4 天内的文件档名:ex> find /var -mtime -4

            4 则是代表 4-5 那一天的文件档名:ex> find /var -mtime 4



(三)Linux磁盘与文件系统管理

Linux 最传统的磁盘文件系统使用的是EXT2

整个 Linux 的系统都是透过一个名为 Virtual Filesystem Switch 的核心功能去读取 filesystem 的。 也就是说,整个 Linux 认识的 filesystem 其实都是 VFS 在进行管理。

Linux磁盘管理常用三个命令为df、du和fdisk。

  • df:列出文件系统的整体磁盘使用量
  • du:检查磁盘空间使用量
  • fdisk:用于磁盘分区

df (列出文件系统的整体磁盘使用量

df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df [-ahikHTm] [目录或文件名]

选项与参数:

  • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
  • -k :以 KBytes 的容量显示各文件系统;
  • -m :以 MBytes 的容量显示各文件系统;
  • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
  • -H :以 M=1000K 取代 M=1024K 的进位方式;
  • -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
  • -i :不用硬盘容量,而以 inode 的数量来显示

将 /etc 底下的可用的磁盘容量以易读的容量格式显示

[root@www ~]# df -h /etc
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9.5G  3.7G  5.4G  41% /

du (列出文件系统的整体磁盘使用量

与 df 不一样的是,du 这个指令其实会直接到文件系统内去搜寻所有的文件数据,是对文件和目录磁盘使用的空间的查看

du [-ahskm] 文件或目录名称

选项与参数:

  • -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
  • -h :以人们较易读的容量格式 (G/M) 显示;
  • -s :列出总量而已,而不列出每个各别的目录占用容量;
  • -S :不包括子目录下的总计,与 -s 有点差别。
  • -k :以 KBytes 列出容量显示;
  • -m :以 MBytes 列出容量显示;

检查根目录底下每个目录所占用的容量

[root@www ~]# du -sm /*

ln (连接文件

在 Linux 底下的连结档有两种,一种是类似 Windows 的快捷方式功能的文件,可以让你快速的链
接到目标文件(或目录); 另一种则是透过文件系统的 inode 连结来产生新档名,而不是产生新文件!

这种称为实体链接 (hard link)。

lsblk ——列出系统上的所有磁盘列表

fdisk (Linux 的磁盘分区表操作工具

如果我们想要在系统里面新增一颗磁盘时,需要做:

    1. 对磁盘进行分区,以建立可用的 partition ;
    2. 对该 partition 进行格式化 (format),以建立系统可用的 filesystem;
    3. 若想要仔细一点,则可对刚刚建立好的 filesystem 进行检验;

    4. 在 Linux 系统上,需要建立挂载点 (亦即是目录),并将他挂载上来;

目前磁盘分区主要有 MBR 以及 GPT 两种格式,这两种格式所使用的分区工具不太一样,

MBR 分区表请使用 fdisk 分区, GPT 分区表请使用 gdisk 分区!

fdisk [-l] 装置名称

选项与参数:

  • -l :输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。

列出所有分区信息

[root@AY120919111755c246621 tmp]# fdisk -l

mkfs (磁盘格式化)

磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用 mkfs(make filesystem) 命令。

语法:

mkfs [-t 文件系统格式] 装置文件名

选项与参数:

  • -t :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)

将分区 /dev/hdc6(可指定你自己的分区) 格式化为 ext3 文件系统:

[root@www ~]# mkfs -t ext3 /dev/hdc6

fsck (磁盘检验)

用来检查和维护不一致的文件系统。

若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。

fsck [-t 文件系统] [-ACay] 装置名称

选项与参数:

  • -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
  • -s : 依序一个一个地执行 fsck 的指令来检查
  • -A : 对/etc/fstab 中所有列出来的 分区(partition)做检查
  • -C : 显示完整的检查进度
  • -d : 打印出 e2fsck 的 debug 结果
  • -p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
  • -R : 同时有 -A 条件时,省略 / 不检查
  • -V : 详细显示模式
  • -a : 如果检查有错则自动修复
  • -r : 如果检查有错则由使用者回答是否修复
  • -y : 选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 # fsck -y 全部检查修复。

查看系统有多少文件系统支持的 fsck 命令:

[root@www ~]# fsck[tab][tab]
fsck         fsck.cramfs  fsck.ext2    fsck.ext3    fsck.msdos   fsck.vfat

磁盘挂载与卸除

Linux 的磁盘挂载使用 mount 命令,卸载使用 umount 命令。

磁盘挂载语法:

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n]  装置文件名  挂载点

磁盘卸载命令 umount 语法:

umount [-fn] 装置文件名或挂载点

选项与参数:

  • -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
  • -n :不升级 /etc/mtab 情况下卸除。

卸载/dev/hdc6

[root@www ~]# umount /dev/hdc6  


(四)Linux文件压缩

在 Linux 的环境中,压缩文件案的扩展名大多是:『 *.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2, *.xz』

tar (打包指令)  

  • 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
  • 查 询:tar -jtv -f filename.tar.bz2
  • 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

dump (备份工具)  

dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。

备份文件到磁带

# dump -0 -u /dev/tape /home/

其中"-0"参数指定的是备份等级"-u"要求备份完毕之后将相应的信息存储到文件 /etc/dumpdates 留作记录

restore(备份工具)  

Linux restore命令用来还原由dump操作所备份下来的文件或整个文件系统(一个分区)。

restore 指令所进行的操作和dump指令相反,dump操作可用来备份文件,而restore操作则是写回这些已备份的文件。

dd(备份工具)  

Linux dd命令用于读取、转换并输出数据。

dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。


将testfile文件中的所有英文字母转换为大写,然后转成为testfile_1文件,在命令提示符中使用如下命令:

dd if=testfile_2 of=testfile_1 conv=ucase 

由标准输入设备读入字符串,并将字符串转换成大写后,再输出到标准输出设备,使用的命令为:

dd conv=ucase 


二、常用命令大全

Linux命令大全

(一)文件管理

1、cat ——用于连接文件并打印到标准输出设备上。

    (1)把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

    (2)把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

     (3)清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

(二)文档编辑

(三)文件传输

(四)系统管理

1、date——显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。

# date
 5 12 14:08:12 CST 2010
# date '+%c' 
20100512 星期三 140902
# date '+%D' //显示完整的时间
05/12/10
# date '+%x' //显示数字日期,年份两位数表示
20100512
# date '+%T' //显示日期,年份用四位数表示
14:09:31
# date '+%X' //显示24小时的格式
140939

2、cal——显示日历

cal month year : cal 6 2018 , cal 2018


3、bc ——任意精度计算器语言,通常在linux下当计算器用。输入 quit 退出。

$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2+3
5

通过管道符

$ echo "15+5" | bc
20

进制转换

$ echo "10^10" | bc 
10000000000
$ echo "sqrt(100)" | bc
10


4、shutdown命令——用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。

shutdown [-t seconds] [-rkhncfF] time [message]
shutdown -h now  #立刻关机
shutdown -h 20:25  #今天的20:25分关机
shutdown -h +10  #10分钟后自动关机
shutdown -r now  #立刻重启
shutdown -r +30 'The system will reboot'  #30分钟后重启
shutdown -k now 'The system will reboot'  #仅发出警告信件的参数,系统并不会关机

本文主要参照:点击打开链接 (菜鸟教程),部分图片来自《鸟哥的Linux私房菜——基础学习篇第四版》。



猜你喜欢

转载自blog.csdn.net/u012114090/article/details/80628519