Linux shell 常用命令

一、文件、目录操作命令

1、ls命令

功能:显示文件和目录的信息

ls 以默认方式显示当前目录文件列表

ls -a 显示所有文件包括隐藏文件

ls -al 显示当前目录下的所有文件及文件夹包括隐藏的.和..等并显示详细信息,详细信息包括大小,属组,创建时间

ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行

ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)

ls -lt 显示文件,按照修改时间排序

补充:ls -l 和 ll 的区别

ll:罗列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息 ,像Windows显示的详细信息。ll是“ls -l"的别名。相当于Windows里的快捷方式。可以理解为 ll 和 ls -l 的功能是相同的, ll 是 ls -l 的别名。

ls:仅罗列出当前文件名或目录名 就像Windows里的文件列表。ls -l 是显示当前目录下文件详细信息。

2、cd命令

功能:改名目录

cd dir 切换到当前目录下的dir目录

cd / 切换到根目录

cd .. 切换到到上一级目录

cd ../.. 切换到上二级目录

cd ~ 切换到用户目录,比如是root用户,则切换到/root下

3、cp命令

功能:copy文件

cp source target 将文件source复制为target

cp /root /source. 将/root下的文件source复制到当前目录

cp –av soure_dir target_dir 将整个目录复制,两目录完全一样

4、rm命令

功能:rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

rm file 删除某一个文件

rm -rf * 删除当前目录下的所有文件,这个命令很危险,应避免使用。所删除的文件,一般不能恢复。

rm -f file 删除时候不进行提示。可以于r参数配合使用

-i 删除已有文件或目录之前先询问用户;

-r 递归处理,将指定目录下的所有文件与子目录一并处理

--preserve-root 不对根目录进行递归操作;

--v  显示指令的详细执行过程

友情提示:一般的删除操作使用rm命令即可

5、mv命令

功能:mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

  1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
  2. 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

6、vim命令

vim file 打开单个文件

vim file1 file2 file3 ... 同时打开多个文件

:open file  在vim窗口中打开一个新文件

:split file  在新窗口中打开文件

:bn  切换到下一个文件

:bp  切换到上一个文件

:args  查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。

打开远程文件,比如ftp或者share folder

:e ftp://192.168.10.76/abc.txt

:e \\qadrive\test\1.txt

vim翻页命令

整页翻页 ctrl-f   ctrl-b
f就是forword b就是backward

翻半页
ctrl-d   ctlr-u
d=down u=up

滚一行
ctrl-e   ctrl-y

zz 让光标所在的行居屏幕中央
zt 让光标所在的行居屏幕最上一行 t=top
zb 让光标所在的行居屏幕最下一行 b=bottom

vim的模式

正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空
插入模式(按i键进入) 左下角显示--INSERT--
可视模式(不知道如何进入) 左下角显示--VISUAL--

退出vim

常用命令是ESC,然后:wq(保存并退出),:q!(不保存并强制退出),i进入vim模式。另外还有其它的,我可能都不会用到。。。
按ESC键 跳到命令模式,然后:

  1. :w 保存文件但不退出vi
  2. :w file 将修改另外保存到file中,不退出vi
  3. :w! 强制保存,不推出vi
  4. :wq 保存文件并退出vi
  5. :wq! 强制保存文件,并退出vi
  6. q: 不保存文件,退出vi
  7. :q! 不保存文件,强制退出vi
  8. :e! 放弃所有修改,从上次保存文件开始再编辑

详情:Linux vim 常用命令

二、其他命令

1、ssh命令

功能:远程登陆到其他UNIX主机

ssh -l user1 192.168.1.2 使用用户名user1登陆到192.168.1.2

ssh

   使用用户名user1登陆到192.168.1.2

2、scp命令

功能:安全copy

例如:复制本地linux文件到远程服务器

scp /home/files [email protected]:/user/aa

出现not a regular file 错误 是因为复制的不是一个文件而是一个文件夹,需要加-r 参数

scp -r /home/filesList [email protected]:/user/bb

3、pwd命令

       pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。

4、more和less命令

详情:Linux中more和less命令用法

5、ps -ef | grep

ps命令将某个进程显示出来

grep命令是查找

中间的|是管道命令 是指ps命令与grep同时执行

PS  是LINUX下最常用的也是非常强大的进程查看命令

grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

以下这条命令是检查java 进程是否存在:ps -ef |grep java

字段含义如下:
UID       PID       PPID      C     STIME    TTY       TIME         CMD

zzw      14124   13991      0     00:38      pts/0      00:00:00    grep --color=auto dae

UID      :程序被该 UID 所拥有

PID      :就是这个程序的 ID 

PPID    :则是其上级父程序的ID

C          :CPU使用的资源百分比

STIME :系统启动时间

TTY     :登入者的终端机位置

TIME   :使用掉的CPU时间。

CMD   :所下达的是什么指令

6、ulimit

ulimit 是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制

命令常用参数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

-H 设置硬资源限制.

-S 设置软资源限制.

-a 显示当前所有的资源限制.

-c size:设置core文件的最大值.单位:blocks

-d size:设置数据段的最大值.单位:kbytes

-f size:设置创建文件的最大值.单位:blocks

-l size:设置在内存中锁定进程的最大值.单位:kbytes

-m size:设置可以使用的常驻内存的最大值.单位:kbytes

-n size:设置内核可以同时打开的文件描述符的最大值.单位:n

-p size:设置管道缓冲区的最大值.单位:kbytes

-s size:设置堆栈的最大值.单位:kbytes

-t size:设置CPU使用时间的最大上限.单位:seconds

-v size:设置虚拟内存的最大值.单位:kbytes

-u <程序数目>  用户最多可开启的程序数目

7、shell执行select查询

$HIVE_HOME/bin/hive -e 'select a.col from tab1 a' 


8、jps命令

jps    -- Java Virtual Machine Process Status Tool 
可以列出本机所有java进程的pid 

jps [ options ] [ hostid ] 

选项 
-q 仅输出VM标识符,不包括class name,jar name,arguments in main method 
-m 输出main method的参数 
-l 输出完全的包名,应用主类名,jar的完全路径名 
-v 输出jvm参数 
-V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 
-Joption 传递参数到vm,例如:-J-Xms48m

hostid 
[protocol:][[//]hostname][:port][/servername]

输出格式 
lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]

样例

(1)jps  仅显示进程id,主类名

(2)jps -q 仅显示进程id

(3)jps -l 输出完全的包名,主类名,jar完全路径名

(4)jps -v 显示jvm参数

(5)jps -lv 127.0.0.1 输出127.0.0.1机器上的java进程,显示jvm参数,显示完全的包名,主类名,jar完全路径
注意:127.0.0.1主机要启动jstatd

原文:jps命令


赋予shell脚本执行权限

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

切换用户

su - 用户名

你可能感兴趣的:(Linux)