1,cat
cat frontend.sh // 查看这个文件
cat>>ssh1.txt // 创立一个 ssh1.txt 文件,然后写文件内容,最后ctrl+D ,进行保存
cat .mysql_history 显示文件内容
cat .mysql_history | grep XXXX 过滤只显示包含XXXX的行的内容
cat .mysql_history | grep XXXX | cut -c -100 过滤,只显示包含XXXX的行的内容的前100个字符
cat .mysql_history | grep XXXX | grep -v YYYY 过滤,显示包含XXXX且不包含YYYY的
2,wegt
Linux wget是一个下载文件的工具
1,使用wget下载单个文件
以下的例子是从网络下载一个文件并保存在当前目录
wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
2、使用wget -O下载并以不同的文件名保存
wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
以管理员权限执行 下载文件的命令,保存在相应目录之下
3,chmod
改变文件/目录权限设置命令
sudo chmod a+x /home/mazhaohai/gitlab-runner/shell/test2.sh
改变文件的权限变为可执行
chmod -R 777 *
chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行),
chmod -R 777 * 意思就是将当前目录下所有文件都给予777权限
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写
x:可执行
4,vi
vi编辑器 三种模式 命令模式、文本输入模式、和末行模式
vi test2.sh
首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式
接下来我们按i,然后键盘随便输入写内容。
然后按ESC重新进入到命令模式。
在命令模式的情况下,我们按:,进入到了末行模式。
我们输入wq!,然后回车,强行保存退出。
下次我们再打开对应文件(可用less filename命令打开),即可看到内容已经更改。
5,cp
cp:复制文件或者目录
用法格式:
cp [option] [source] [dest]
cp [选项] [源文件] [目标文件]
如果在复制的时候想保留文件原有的权限信息以及时间属性时,可以加参数 -p
-i: 带提示信息的复制,默认情况下,cp命令会直接覆盖
-r参数: 递归复制目录以及文件
6,du
显示文件或目录所占用的磁盘空间。
du -sh xxx 显示总目录的大小,但是不会列出目录中的每一个文件
du -sh .[!.]* 显示总目录的大小,但是不会列出目录中的每一个文件(包括隐藏文件)
7,ls
ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
ls(选项)(参数)
-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
8,chown
sudo chown -R gitlab-runner:gitlab-runner ./gitlab-runner/ // 这个命令改变了这个文件夹的归属
man chown // 查看chown所有选项
9,rz 上传 sz 下载
10,ps
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
1.命令格式:ps[参数]
2.命令功能:用来显示当前进程的状态
3,命令参数
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示
11,lsof
lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于这个应用程序本身的信息。
root用户下执行如下命令,可查看所有端口占用情况;
lsof -i
12 mv
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
1.命令格式:
mv [选项] 源文件或目录 目标文件或目录
2.命令功能:
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
3.命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
13 df
14, shell 字符串变为数组的方法
arr=(${data//\\n/ });
for i in ${arr[@]}
do
docker push $i
echo $i
done
把其中的换行符用空格代替,然后外面加上() 就是数组了
15 编辑时是否显示行号控制
一,临时设置行号
一般模式下(摁下esc键,即返回到一般模式下)
输入:set nu
取消行号:set nonu
注意,上面的冒号也是要输入的内容 (也就是进入编辑时的末行模式)
二,永久设置行号
vim ~/.vimrc //添加 set nu,输入:wq保存退出