Linux 基本操作

1.一个文件的内容复制到另一个文件的末尾

比如11的文件内容是: 
hello 
22的文件内容是:
world
将22的文件内容复制到11文件的末尾,11文件的效果就是: 
hello 
world

 

解决办法:

cat 22 >> 11

>>的意思是追加的意思

> 的意思是重定向的意思,会覆盖原先的内容

小Tips:

将a.txt文件的内容清除,并且使得文件的大小为0,而不删除文件可以:

cat /dev/null > a.txt

 

2.删除操作

 

1) 删除一个目录

直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字

-r 就是向下递归,不管有多少级目录,一并删除

-f 就是直接强行删除,不作任何提示的意思

2) 删除一个文件

rm –f 文件名

3)删除多个文件操作

rm -rf *.* 删除这个目录下所有的文件
rm -rf *关键字* 删除和关键字有关的所有文件

 

 

3.让进程在后台可靠运行的几种方法

我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。

此时最方便的方法就是 screen 了。简单的说,screen 提供了 ANSI/VT100 的终端模拟器,使它能够在一个真实终端下运行多个全屏的伪终端。

1) screen安装

sudo apt-get update
sudo apt-get install screen

2) 这里介绍常用的命令

screen -S name 启动一个名字为name的screen
screen -S session_name -X quit  使用screen名字,kill掉
screen -ls 是列出所有的screen
screen -r name或者id,就可以回到某个screen了
ctrl + a + d 可以回到前一个screen,当时在当前screen运行的程序不会停止
ctrl + Z 停止

3)快速刪除screen所有的視窗

當用screen開啟了許多個虛擬終端機後,想要一次通通刪掉:

  1. 如果在screen裡面,先卸離(detach) screen
  2. 用 screen -ls 指令看要刪掉的虛擬終端機是哪個,名稱前面會是pid (process ID)
  3. 用 kill pid 指令殺掉那個screen的process ID
    這時候用 screen -ls 看會發現原來那個screen的狀態是 dead
  4. 用 screen -wipe 刪除狀態已經是dead的虛擬終端機

 

 

4. apt-get命令

apt-get命令是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。

使用apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的地址加入,apt-get就能搜索到我们想要的软件。

/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下:

deb [web或ftp地址] [发行版名字] [main/contrib/non-free]

下面是常用命令:

(1)在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的:

apt-get update

(2)安装一个新软件包:

apt-get install packagename

(3)卸载一个已安装的软件包(保留配置文件):

apt-get remove packagename

(4)卸载一个已安装的软件包(删除配置文件):

apt-get –purge remove packagename

(5)Debian Linux会把已装或已卸的软件都备份(.deb文件)在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件:

apt-get autoclean

(6)这个命令会把安装的软件的备份(.deb文件)也删除,不过这样不会影响软件的使用的:

apt-get clean

(7)将系统升级到新版本:

apt-get dist-upgrade

 

5. 文件重命名

mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于DOS系统下的ren和move命令的组合。它的使用权限是所有用户。

格式
mv [options] 源文件或目录 目标文件或目录

主要参数[options]:
-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。
-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。

当选择参数类型是文件时,mv命令完成文件重命名,它将所给的源文件或目录重命名为给定的目标文件名。

实例——将文件test.txt重命名为wbk.txt:

mv test.txt wbk.txt

 

6.echo命令

1)echo的作用:打印字符串到输出文件流。

例如:

echo Hello,Binn

如图,执行之后,终端会打印出echo的参数,即Hello,Binn

2)echo + 输出重定向的用法:echo 参数 > 输出文件

echo Hello,Binn > tmp.txt

这句话的意思即是:输出Hello,Binn字符串到一个位置,如果tmp.txt存在,我们即【清空其内容,更新为Hello,Binn】,不存在,创建之。

这个过程,echo没有像之前那样向终端打印参数,为什么?

原因是因为,>输出重定向把echo的参数输出到某个文件(而不是输出到终端,这就是输出重定向)。

3)操作符>>输出追加重定向(类似于>输出重定向功能)

相同的地方是:如果重定向的文件不存在,创建之

唯一不同的地方是:【如果重定向的文件存在,追加之(>符是清空后新增内容,>>是在文件末尾追加字符串)】

 

7.剪切命令

命令格式:

mv [选项] 源文件或目录 目标文件或目录

命令参数:

-b :若需覆盖文件,则覆盖前先行备份;

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖;

-u :若目标文件已经存在,且 source 比较新,才会更新(update)。

命令实例:

将文件log1.txt,log2.txt,log3.txt剪切到目录test3中

mv log1.txt log2.txt log3.txt test3

 

8.source命令

source命令用法

source FileName

source命令作用

在当前bash环境下读取并执行FileName中的命令。

*注:该命令通常用命令“.”来替代。

使用范例:

source filename 

. filename(中间有空格)

 

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。

同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等。

例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。比如您在一个脚本里`export $KKK=111` ,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK,发现没有值,假如您用source来执行 ,然后再echo,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同他就是在本shell中执行的,所以能够看到结果。

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是一个点符号,(从Bourne Shell而来)是source的另一名称。这两个命令都以一个脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚本中设置的变量将成为当前Shell的一部分。

 

source命令的一个妙用

在编译核心时,常常要反复输入一长串命令,如

make mrproper
make menuconfig
make dep
make clean
make bzImage
.......

这些命令既长,又繁琐。而且有时候容易输错,浪费你的时间和精力。如果把这些命令做成一个文件,让它自动按顺序执行,对于需要多次反复编译核心的用户来说,会很方便。

用source命令可以办到这一点。它的作用就是把一个文件的内容当成是shell来执行。

先在/usr/src/linux-2.4.20目录下建立一个文件,取名为make_command,在其中输入如下内容:

make mrproper &&
make menuconfig &&
make dep &&
make clean &&
make bzImage &&
make modules &&
make modules_install &&
cp arch/i386/boot/bzImge /boot/vmlinuz_new &&
cp System.map /boot &&
vi /etc/lilo.conf &&
lilo -v

文件建立好之后,以后每次编译核心,只需要在/usr/src/linux-2.4.20下输入source make_command 就行了。这个文件也完全可以做成脚本,只需稍加改动即可。

shell编程中的命令有时和C语言是一样的。&&表示与,||表示或。把两个命令用&&联接起来,如 make mrproper && make menuconfig,表示要第一个命令执行成功才能执行第二个命令。对执行顺序有要求的命令能保证一旦有错误发生,下面的命令不会盲目地继续执行。

source filename 与 sh filename 及./filename执行脚本的区别

  1. 当shell脚本具有可执行权限时,用sh filename./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。
  2. sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell。
  3. source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

 

 

9. 查看磁盘空间及目录容量

df命令是Linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间:

df -hl

显示格式为:

文件系统 容量 已用 可用 已用% 挂载点 

Filesystem Size Used Avail Use% Mounted on

/dev/hda2 45G 19G 24G 44% /

/dev/hda1 494M 19M 450M 4% /boot

/dev/hda6 4.9G 2.2G 2.5G 47% /home

/dev/hda5 9.7G 2.9G 6.4G 31% /opt

none 1009M 0 1009M 0% /dev/shm

/dev/hda3 9.7G 7.2G 2.1G 78% /usr/local

/dev/hdb2 75G 75G 0 100% /

/dev/hdb2 75G 75G 0 100% /

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值