Linux简单命令

501 阅读7分钟
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命令打开),即可看到内容已经更改。

Linux 入门- vi命令

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保存退出