linux mv中途进程断掉,shell入门

一、Shell 的含义

学习 Bash,首先需要理解 Shell 是什么。Shell 这个单词的原意是“外壳”,跟 kernel(内核)相对应,比喻内核外面的一层,即用户跟内核交互的对话界面。

具体来说,Shell 这个词有多种含义。

首先,Shell 是一个程序,提供一个与用户对话的环境。这个环境只有一个命令提示符,让用户从键盘输入命令,所以又称为命令行环境(commandline,简写为 CLI,shell是linux API的命令行接口,对应图形接口。Shell 接收到用户输入的命令,将命令送入操作系统执行,并将结果返回给用户。本书中,除非特别指明,Shell 指的就是命令行环境。

其次,Shell 是一个命令解释器,解释用户输入的命令。它支持变量、条件判断、循环操作等语法,所以用户可以用 Shell 命令写出各种小程序,又称为脚本(script)。这些脚本都通过 Shell 的解释执行,而不通过编译。

最后,Shell 是一个工具箱,提供了各种小工具,供用户方便地使用操作系统的功能。

二、Shell 的种类

1. Shell 有很多种,只要能给用户提供命令行环境的程序,都可以看作是 Shell。

历史上,主要的 Shell 有下面这些。

Bourne Shell(sh)

Bourne Again shell(bash)

C Shell(csh)

TENEX C Shell(tcsh)

Korn shell(ksh)

Z Shell(zsh)

Friendly Interactive Shell(fish)

Bash 是目前最常用的 Shell,我的电脑是Z shell.

2. 下面的命令可以查看当前运行的 Shell。

$ echo $SHELL

/bin/bash

3. 先看看自己的控制台是哪一种类型的:bashrc或者zshrc,然后把常用的一些设置,比如别名设置或者环境变量之类的放到~/.zshrc或者~/.bashrc里。每当打开一个终端就会自动跑这个文件里的命令,或者是人工启动这个文件source ~/.bashrc 或者. ~/.bashrc (.就相当于source ),省得每次都自己再写一遍。

三、Shell 常用命令

1. touch

新建一个不存在的文件:touch a.text

2. echo

用于字符串的输出

(1) echo "It is a test"

这里的双引号完全可以省略,以下命令与上面实例效果一致:

echo It is a test

(2) 显示结果定向至文件

echo "It is a test" > myfile

3. cat

(1). 一次显示整个文件:cat filename

(2). 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

(3). 将几个文件合并为一个文件:cat file1 file2 > file

4. control+c (cancel) 撤销当前命令

control+a (a, b, c...) 到当前命令开头

control+e (end) 到当前命令结束

5. ls

ls [选项] [目录名]  列出目标目录中所有的子目录和文件

(1)-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件

(2)-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)

(3)-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

6. alias 设置别名:alias name='command line' : alias a=“ssh -D 12345  clouddesktop_hostname”

7. pwd 列出该目录的路径

8. rm -rf  删除指定目录下的所有文件与子目录

9. mkdir [目录名] 当前目录中创建一个目录

10. vi filename/vim filename: 打开或新建文件,并将光标置于第一行首

11. 输入Hive,进入Hive环境

输入python,进入python环境

12. mv 用来为文件或目录改名、或将文件或目录移入其它位置

mv 文件名 文件名

将源文件名改为目标文件名

mv 文件名 目录名

将文件移动到目标目录

mv 目录名 目录名

目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名

mv 目录名 文件名

出错

13. cd [目录名] 切换当前目录至dirName

(1)cd / 进入系统根目录

(2) cd ~ 进入当前用户主目录

(3) cd .. 进入上一级目录

14. du [选项][文件]   显示每个文件和目录的磁盘使用空间,例如:du -sh *

(1)-s或--summarize  仅显示总计,只列出最后加总的值。

(2)-h或--human-readable  以K,M,G为单位,提高信息的可读性

15. df [选项] [文件]   显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。

(1) -h 方便阅读方式显示

(2) -a 全部文件系统列表

(3) -l 只显示本地文件系统

16. 用Ctrl + R +”前缀”. 搜索历史命令并将前缀进行字典序匹配

17. cp命令用来复制文件或者目录

-r, --recursive  复制目录及目录内的所有项目

18. wget 断点续传

eg: wget -b -c -t 0 -O new_name.tar.gz http://www.cnscn.org/old_name.tar.gz

(1) -c 断点续传

(2) -t 0 反复尝试的次数,0为不限次数

(3) -O name_name.tar.gz 把下载的文件命名为new_name.tar.gz

(4) http://www.cnscn.org/old_name.tar.gz 要下载的文件的网址

(5) -b:让wget在后台运行,记录文件写在当前目录下"wget-log"文件中;

19. clear

刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。一般都会用这个命令。

20、linux环境下创建和删除软链接

linux下的软链接类似于windows下的快捷方式

创建:ln -s [源文件或目录][目标文件或目录]

删除: rm -rf [目标文件或目录]

其作用是当进入目标文件目录,实际上是链接进入了源文件目录

值得注意的是执行命令的时候,应该是源文件或目录已经建立,不要创建目标文件或目录

21. 查看当前进程:ps aux

杀进程:kill -9 PID

22. grep 关键词匹配

23. | 管道:将前一条命令的输出,作为后一条命令的输入,相当于命令之间的粘合剂。

例如:查看python进程:ps aux| grep python

24. chmod命令用于改变linux系统文件或目录的访问权限。

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。

有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。

权限范围:

u :目录或者文件的当前的用户

g :目录或者文件的当前的群组

o :除了目录或者文件的当前用户或群组之外的用户或者群组

a :所有的用户及群组

权限代号:

r :读权限,用数字4表示

w :写权限,用数字2表示

x :执行权限,用数字1表示

- :删除权限,用数字0表示

chmod [who] [+ | - | =] [mode] 文件名

例如:增加文件所有用户组可执行权限

命令:chmod a+x filename

25. tail 命令

从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

-f 循环读取 tail -f gg.log 查看实时日志

26. which 查看可执行文件(命令)的位置

在PATH变量指定的路径中,只找一层,搜索某个系统命令的位置,并且返回第一个搜索结果。

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

find path -option [ -print ] [ -exec -ok command ]

$ find . -name "*.c"

28、ssh (Secure Shell)

(1) SSH是一种网络协议,用于计算机之间的加密登录。

如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

(2) SSH主要用于远程登录。

$ ssh user@host

(3) 拷贝文件:

$ scp  用户名@远程host:远程文件路径 本地路径

29. 不挂断地运行命令

nohup comd > gg.log &(重定向符号,解放键盘)

配合tail -f可以打印输出日志

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值