【Linux学习】shell 命令(mac、linux)及shell脚本

命令行提示符

:表示超级管理员root用户对应的命令行。
:表示普通用户对应的命令行。

命令行常用快捷键

快捷键 功能
tab 补全命令
【ctrl + a】 / 【home】 光标回到命令行首
【ctrl + e】 / 【end】 光标回到命令行首
ctrl + insert 复制
shift + insert 粘贴
Ctrl+k 剪切(删除)光标处到行尾的字符*
Ctrl+u 剪切(删除)光标处到行首的字符*
Ctrl+w 剪切(删除)光标前的 一 个单词
Ctrl+y 粘贴Ctrl+u/Ctrl+k/Ctrl+w删除的文本
Ctrl+c 中断终端正在执行的任务或者删除整行*
ctrl + z 暂停执行在终端运行的任务

常用linux命令

命令 功能 备注
passwd root 修改密码
clear 清屏
【reboot】/【shutdown -r now】 重启主机
shutdown -h now 关机
shutdown -h + 1 1分钟以后关机, l可以是别的数字或时间点, 例如: 11:00
exit 退出shell
history 查看历史命令
printf ‘%x’ 12345 把12345d转换为16进制

1,目录操作

功能 命令 说明
查看当前所处路径 pwd
新建文件夹 mkdir 文件夹名称 -p创建多层目录,即使目录存在也不会 错 ; mkdir dir1 dir2创建多个目录
返回上一级目录
返回上两级目录
返回home目录 cd或cd ~
返回指定目录 cd – 返回原目录
进入指定目录 cd ./a .表示当前目录,/表示目录级别分隔符
返回根目录 cd /
把上个命令的参数作为cd参数使用 如 ls /opt cd !$ 表示打开/opt目录
新建文件 touch test.txt Linux下没有文件后缀名区分文件类型之说,系统文件类型只有可执行文件和不可执行文件
重命名文件 mv A B 如文件B存在,则覆盖。参数:-i 覆盖时提示;-f 不提示强制覆盖;-n 不覆盖已经存在的文件; -v 显示为剪切移动进度。注意:只能对单个文件重命名,如果要重命名多个文件,可以for循环处理:ls *.war.original
将/a目录移动到/b下,并重命名为c mv /a /b/c 如:mv test2 test1/test1.1。 可以使用绝对路径。
删除文件 rm 文件名 -i 会提示;-f 强制删除不提示;-v 显示文件的删除进度; -r 删除文件夹以及里面所有文件
删除空目录 rmdir 文件夹名 如果文件夹非空则删除失败。-v 显示删除进度;-p 递归删除目录
比较文件内容 diff 文件1 文件2
找出特定程序的路径 whereis
从索引中找出文件位置 locate
建立软链接 ln -s /test.1.0.1 /test unlink可以去掉软链接;通过ll命令可以查看当前目录软链接-b 删除,覆盖以前建立的链接;-v 显示详细处理过程。不加-s为硬链接(以文件副本的形式存在,但不占用实际空间,只能给文件添加硬链接)
查看文件路径及目录 tree -a dir路径

/bin目录(binary)是二进制执行文件目录,主要用于具体应用
/sbin目录(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理

1)查看文件目录

功能 命令 说明
查看当前目录列表 ls

参数列表:

功能 命令 说明
ls -a 所有文件,包括以 . 开头的隐藏文件
ls -A 显示除 “.”和“…”外的所有文件。
ls -b 把文件名中不可输出的字符用反斜杠加字符编 (就象在C语言里一样)的形式列出
ls -B 不输出以 “~”结尾的备份文件。
ls -c 输出文件的 i 节点的修改时间,并以此排序
ls -d 将目录象文件一样显示,而不是显示其下的文件
ls -i 输出文件的 i 节点的索引信息。
ls -1 一行只输出一个文件。
ls -l 列举目录详细信息。包括权限,所属拥有着,组群,大小,创建日期,文件是否是到系统其他地方的链接,以及链接的指向 别名为:ll
ls -L 列出链接文件名而不是链接到的文件。
ls -m 横向输出文件名,并以“,”作分格符。
ls -n 用数字的 UID,GID 代替名称。
ls -N 不限制文件长度。
ls -o 显示文件的除组信息外的详细信息。
ls -p -F 在每个文件名后附上一个字符以说明该文件的类型 “*”表示可执行的普通,“
ls -q 用替不可输出的字符。
ls -Q 把输出的文件名用双引 括起来。
ls -r 从后向前列举目录内容
ls -R 递归的列举所有目录以及目录下的内容
ls -X 以文件的扩展名(最后一个 . 后的字符)排序。
ls -s 在每个文件名后输出该文件的大小。
ls -S 按文件大小排列
ls -t 以时间排序(说明以最近修改的日期进行排序)
ls -u 以文件上次被访问的时间排序
ls –color=no 不显示彩色文件名
ls –help 在标准输出上显示帮助信息。
ls –version 在标准输出上输出版本信息并退出。

2)文件操作

功能 命令 说明
通过字符串替换的方式批量修改文件名 rename from to file from:要替换的字符;to 替换的结果;file 影响域。举例:rename .jpg .png *.jpg (将所有jpg文件替换为png结尾)
显示文件类型 file filename.txt 多个文件用空格隔开,可以使用通配符批量匹配
计算和校验md5 md5sum test.txt -b 二进制模式读取文件;-c 从指定文件中读取md5并进行校验,举例:md5sum -c md5.log(输出当前目录md5匹配的文件);

3)复制文件

功能 命令 说明
复制文件到指定目录 cp file1 /home/B 当前目录下的/home/B目录(相对路径)
复制文件到当前目录 cp -r test.txt newTest.txt -r 同时复制目录下的所有文件

在cp指令前面加反斜杠可以不弹出是否覆盖的询问而直接覆盖!如: 表示用目录luo1覆盖luo2目录。

Linux之间复制文件和目录:
使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

功能 命令 说明
从本地复制到远程 scp local_file remote_username@remote_ip:remote_folder 复制到目录 local_file
从本地复制到远程 scp local_file remote_username@remote_ip:remote_file remote_file为目录+文件名,该命令修改了文件名
从远程复制到本地 scp remote_username@remote_ip:remote_folder local_file
指定端口进行复制 scp -P 4588 remote_username@remote_ip:remote_folder local_file 远程服务器防火墙有为scp命令设置了指定的端口需要使用-p参数

如:把本地文件夹复制到远程

scp:secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
ssh:secure shell的缩写

4)linux中文件颜色,蓝色,白色等各自代表的含义

文件颜色 说明
绿色文件 可执行文件,可执行的程序
红色文件 压缩文件或者包文件
蓝色文件 目录
白色文件
浅蓝色文件 链接文件,主要是使用ln命令建立的文件
红色闪烁 表示链接的文件有问题
黄色 表示设备文件
灰色 表示其他文件

1>cat

功能 命令 备注
查看文件 cat /etc/hosts -n 由1开始对所有输出的行数进行编 ;-b 和-n一样,但是不对空白行编 ;-s 遇到有连续两行以上的空白行,就代换为一行的空白行。
把多个文件合并为一个 cat file1.txt file2.txt > newfile.txt
cat > head.txt
追加内容到结尾 cat >> file1.txt
清空文件内容 cat /dev/null >file.txt 只输出错误的东西; 2表示错误 1表示正确 这句话把2当1输出 由于加了/dev/null 所以都不输出

2>vi/vim(命令模式,输入模式,底线命令模式)

常用命令:

命令 功能
w 下一单词的第一字符
e 下一单词的最后字符
b 上一单词的第一字符
( 到句首
) 到句尾
ctrl+F 上页
ctrl+B 下页
dd 删除当前行
x 删除当前字符
u 恢复前一步操作
p 复制之前删除的行
G 查看文件最后一页
从文件最后查找a
N 下一个
gg 光标跳到文件开头
dG 清空光标到结尾的数据
命令 功能 备注
q 退出程序
q! 强制退出不保存
w 保存文件
wq 保存并退出
set number 显示行
:set fileencoding 查看文件编码方式 如utf-8
:set ff/td> 查看文件是dos格式还是unix格式 windows标识一行的结束用的是回车换行符,即’rn’,也叫做CRLF。linux对一行结束的标识则只有换行,即’n’,也就是LF
set ff=unix 修改格式

3>head

显示文件内容(从头显示,默认输出文件的开头10行):

4>tail

显示文件内容(从最后显示,默认输出文件的最后10行):

5>tailf

主要用于跟踪日志文件,默认输出最后10行。
与不同的是,如果文件不增长,那么不访问磁盘,也不会更改文件的访问时间。

6>grep

查找指定的字符串在文件中:

查看当前目录下包含某字串的文件:

7>sed

字符串替换、删除,但不修改文件。

参数说明:

动作说明:

8>cut

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

参数:

9>AWK

10>sort

将输入的文件内容按照指定的规则进行排序,然后将排序结果输出。
常见参数:

命令 功能 备注
sort file.txt 对file.txt文件中的行进行排序

11>uniq

输出或忽略文件中的重复行。主要用于在sort命令排序后,用uniq命令对文件去重并计数。

12>wc

统计文件的行数、单词数或字节数。

  1. 统计当前文件夹下文件的个数:
  2. 统计当前文件夹下目录的个数:
  3. 统计当前文件夹下文件的个数,包括子文件夹里的:
  4. 统计文件夹下目录的个数,包括子文件夹里的:

:将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是

13>文件格式转换

i> iconv

用于转换文件的编码格式。


    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月11日
下一篇 2022年11月11日

相关推荐