常用Linux命令

常用文件操作:编辑vi/vim,移动mv,删除rm,新建文件touch,上传文件rz,保存文件sz,新建目录mkdir

1.创建文件目录

语法:

mkdir [-p] dirName

 

举例:

在工作目录下,建立一个名为 AAA 的子目录 :

mkdir AAA

在工作目录下的 test 目录中,建立一个名为 Test 的子目录。 若test 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本test目录不存在,则产生错误。)

 

 

 

2.进入目录(dirName:要切换的目标目录。)

cd [dirName]

实例:

跳到自己的 home 目录 :

cd ~

 

3.列出所有子目录

ls

4.返回上一级目录

cd ../

5.返回上上级目录

cd ../..

6.编辑文件

Linux ed命令是文本编辑器,用于文本编辑。

ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。

ed命令并不是一个常用的命令,一般使用比较多的是vi 指令。但ed文本编辑器对于编辑大文件或对于在shell脚本程序中进行文本编辑很有用。

cat是查看,不能编辑。

实例:

$ ed              <- 激活 ed 命令 
a                 <- 告诉 ed 我要编辑新文件 
My name is Titan. <- 输入第一行内容 
And I love Perl very much. <- 输入第二行内容 
.                 <- 返回 ed 的命令行状态 
i                 <- 告诉 ed 我要在最后一行之前插入内容 
I am 24.          <- 将“I am 24.”插入“My name is Titan.”和“And I love Perl very much.”之间 
.                 <- 返回 ed 的命令行状态 
c                 <- 告诉 ed 我要替换最后一行输入内容 
I am 24 years old. <- 将“I am 24.”替换成“I am 24 years old.”(注意:这里替换的是最后输的内容) 
.                 <- 返回 ed 的命令行状态 
w readme.text     <- 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可) 
q                 <- 完全退出 ed 编辑器 

这是文件的内容是:

$ cat readme.text 
My name is Titan. 
I am 24 years old. 
And I love Perl vrey much. 

 

7.pwd 命令来显示当前目录的绝对路径

[root@localhost ~]# pwd

 

8.打印输出文件

cat 命令用于连接文件并打印到标准输出设备上。

cat [-AbeEnstTuv] [--help] [--version] fileName
-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

实例:

把 textfile1 的文档内容加上行号后 输入 textfile2 这个文档里:textfile2的文件内容变化

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

 

9.辨识文件类型

file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
-b  列出辨识结果时,不显示文件名称。
-c  详细显示指令执行过程,便于排错或分析程序执行的情形。
-f   <名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
-L  直接显示符号连接所指向的文件的类别。
-m   <魔法数字文件>  指定魔法数字文件。
-v  显示版本信息。
-z  尝试去解读压缩文件的内容。
    [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
-i   显示MIME类别

实例:

[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text

[root@localhost ~]# file -b install.log      <== 不显示文件名称
UTF-8 Unicode text

[root@localhost ~]# file -i install.log      <== 显示MIME类别。
install.log: text/plain; charset=utf-8

[root@localhost ~]# file -b -i install.log
text/plain; charset=utf-8

显示符号链接的文件类型

[root@localhost ~]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail

[root@localhost ~]# file /var/mail
/var/mail: symbolic link to `spool/mail'

[root@localhost ~]# file -L /var/mail
/var/mail: directory

[root@localhost ~]# file /var/spool/mail
/var/spool/mail: directory

[root@localhost ~]# file -L /var/spool/mail
/var/spool/mail: directory

 

10.查找文件目录

locate [-d ][--help][--version][范本样式...]
-d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
--help  在线帮助。
--version  显示版本信息。

实例:

[root@localhost 桌面]$ locate 123.csv                  --查找123.csv这个文件的位置
/home/root/.cache/vmware/drag_and_drop/EmEiE8/123.csv
/home/root/桌面/123.csv

 

11.复制远程文件或目录

Linux rcp命令用于复制远程文件或目录。

rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。

rcp [-pr][源文件或目录][目标文件或目录]

rcp [-pr][源文件或目录...][目标文件]
-p  保留源文件或目录的属性,包括拥有者,所属群组,权限与时间。

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

实例

使用rcp指令复制远程文件到本地进行保存。

设本地主机当前账户为rootlocal,远程主机账户为root,要将远程主机(218.6.132.5)主目录下的文件"testfile"复制到本地目录"test"中,则输入如下命令:

rcp root@218.6.132.5:./testfile testfile  #复制远程文件到本地  
rcp root@218.6.132.5:home/rootlocal/testfile testfile  
#要求当前登录账户cmd 登录到远程主机  
rcp 218.6.132.5:./testfile testfile

注意:指令"rcp"执行以后不会有返回信息,仅需要在目录"test"下查看是否存在文件"testfile"。若存在,则表示远程复制操作成功,否则远程复制操作失败。

 

12.删除一个文件或者目录

rm [options] name...
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。

实例

删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

# rm  test.txt 
rm:是否删除 一般文件 "test.txt"? y  
# rm  homework  
rm: 无法删除目录"homework": 是一个目录  
# rm  -r  homework  
rm:是否删除 目录 "homework"? y 

删除当前目录下的所有文件及目录,命令行为:

rm  -r  * 

 

13.退出编辑

ctrl+c  ctrl+z

 

14.tee命令用于读取标准输入的数据,并将其内容输出成文件

实例:

使用指令"tee"将用户输入的数据同时保存到文件"file1"和"file2"中,输入如下命令:(如果file1和file2文件不存在,会自动创建)

$ tee file1 file2                   #在两个文件中复制内容 

以上命令执行后,将提示用户输入需要保存到文件的数据,如下所示:

 

My Linux                        #提示用户输入数据  
My Linux                        #输出数据,进行输出反馈  

此时,可以分别打开文件"file1"和"file2",查看其内容是否均是"My Linux"即可判断指令"tee"是否执行成功。

 

15. cp命令主要用于复制文件或目录

cp [options] source dest

cp [options] source... directory
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

实例

使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:

$ cp –r test/ newtest          

注意:用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。

 

16.touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。

实例

使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:

$ touch testfile                #修改文件的时间属性 

首先,使用ls命令查看testfile文件的属性,如下所示:

$ ls -l testfile                #查看文件的时间属性  
#原来文件的修改时间为16:09  
-rw-r--r-- 1 hdd hdd 55 2011-08-22 16:09 testfile  

执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:

$ touch testfile                #修改文件时间属性为当前系统时间  
$ ls -l testfile                #查看文件的时间属性  
#修改后文件的时间属性为当前系统时间  
-rw-r--r-- 1 hdd hdd 55 2011-08-22 19:53 testfile  

使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:

$ touch file            #创建一个名为“file”的新的空白文件 

 

17.tail

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:

tail [参数] [文件]  
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

实例:

把logs文件的后300行保存为eg.txt:

tail -n 300 x.logs > eg.txt

 

要显示 notes.log 文件的最后 10 行,请输入以下命令:

tail notes.log

要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:

tail -f notes.log

此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。

显示文件 notes.log 的内容,从第 20 行至文件末尾:

tail +20 notes.log

显示文件 notes.log 的最后 10 个字符:

tail -c 10 notes.log

 

18.sz-上传文件到本机目录中

sz filename

19.ll

列出当前目录的所有文件的详细信息

20.查看虚拟机的ip

ifconfig

 21.mv命令:移动文件或改名

[root@localhost ~]# mv 【选项】 源文件 目标文件
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
-v:显示文件或目录的移动过程;
-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;

例1:移动文件或目录

[root@localhost ~]# mv cangls /tmp
#移动之后,源文件会被删除,类似剪切
[root@localhost ~]# mkdir movie
[root@localhost ~]# mv movie/ /tmp
#也可以移动目录。和 rmcp 不同的是,mv 移动目录不需要加入 "-r" 选项

如果移动的目标位置已经存在同名的文件,则同样会提示是否覆盖,因为 mv 命令默认执行的也是 "mv -i" 的别名,例如:

[root@localhost ~]# touch cangls
#重新建立文件
[root@localhost ~]# mv cangls /tmp
mv:县否覆盖"tmp/cangls"?y
#由于 /tmp 目录下已经存在 cangls 文件,所以会提示是否覆盖,需要手工输入 y 覆盖移动

如果源文件和目标文件在同一目录中,那就是改名。例如:

[root@localhost ~]# mv bols lmls
#把 bols 改名为 lmls

 22.查看系统文件夹

[root@localhost ~]# df -h

23.查看当前账号user的文件夹

[root@localhost ~]# cd /usr

 24.安装工具包

/bin/yum install tools

 

25.安装sz,rz命令

/bin/yum install lrzsz

 26.复制本地文件到虚拟机中

rz filename

27.查看所有文件,包括隐藏文件

ll -a

28.关机和重启

[root@localhost ~]# shutdown [选项] 时间 [警告信息]
-c:取消已经执行的 shutdown 命令;
-h:关机;
-r:重启;
[root@localhost ~]# shutdown -r now
#重启, now是现在重启的意思
[root@localhost ~]# shutdown -r 05:30
#指定时间重启,但会占用前台终端
[root@localhost ~]# shutdown -r 05:30 &
#把定义重启命令放入后台,&是后台的意思
[root@localhost ~]# shutdown -c
//取消定时重启
[root@localhost ~]# shutdown -r +10
#10分钟之后重启
[root@localhost ~]# shutdown -h now
#现在关机
[root@localhost ~]# shutdown -h 05:30
#指定时间关机

 29.删除目录

rm -r 目录名

 强制删除文件夹

rm -rf nginx-1.13.9

 30.vim中强制退出编辑模式

:q!

31.安装Vim包

/bin/yum install vim

32.

查看服务剩余空间              free -m/free -g    
查看所有java进程              ps -ef|grep java    
查看redis服务                ps -ef|grep redis    
启动redis                   cd /usr/local/redis-4.0.8/src && ./redis-server /usr/local/redis-4.0.8/redis.conf &     
查看当前目录的进程             netstat -ntpl    
netstat -ntpl|grep 8081    查看8081这个端口被哪些服务在用
查看指定进程的服务             ps pid    
kill进程                    kill -9 pid1 pid2...    
切换用户                     su logs    切换到logs用户
切换用户并进入该目录           su - logs    切换到logs用户并且进入了logs目录
查看日志最近300行              tail -n 300 x.logs    tail从后面显示,head从前面显示
动态查看日志,实时更新          tail -f x.logs    ctrl+c结束
查看日志 前 n行               cat 文件名 | head -n 数量    
查看日志 尾 n行:              cat 文件名 | tail -n 数量    
根据 关键词 查看日志 并返回关键词所在行    cat 路径/文件名 | grep 关键词    
                                     grep -i 关键词 路径/文件名    
上传文件                      rz    
下载文件                      sz *.txt    查看下载路径CRT中在传输-接收Xmodem(N)中
复制,目录                     cp –r test/ newtest     使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下
复制,内容                    cp 1.txt test2/2.txt    将1.txt中的内容复制到test2中的2.txt中
复制文件                      cp 1.txt test2    将1.txt复制到test2中,复制后的结果:test2中存在1.txt
复制文件夹/目录                cp -r apache-tomcat-7.0.63 test1    apache-tomcat-7.0.63下还有很多文件,必须要-r
多个文件夹删除                 rm -f test1 test2 test3    
查看系统磁盘占用情况            df -TH 与df-hl    "
-H 1K=1000
-h 1K=1024"
top                         top 命令实时显示进程的状态    
修改权限                     chmod 777 -R /tmp    ‘-r表示递归,下面的所有都要这行这个命令,可读(w=4)可写(r=2)可执行(x=1),
修改权限                     chmod u+x *.sh     u 代表用户. g 代表用户组. o 代表其他. a 代表所有.
                                               u代表所有者user;x代表执行权限;+ 表示增加权限。对当前目录下的*.sh文件的所有者增加可执行权限。查看文件                     vim start.sh    
                            cat start.sh    
修改时间                     date -s "2012-12-12 12:12:12"    
增加用户                     useradd lyl,创建的结果在home中    
创建密码                     passwd lyl,然后设置密码    
查看当前目录的完整地址         pwd    
查看当前服务的ip地址          ip address    
移动并且复制                 scp -r apache-tomcat-7.0.63.tar.gz lyl@39.98.225.xxx:/home/lyl    将apache-tomcat-7.0.63.tar.gz复制到39.98.225.xxx的home/lyl目录下
                                                                                             若要到到本机的某个目录下,可以写127.0.0.1

解压zip包 unzip xxx.zip .tar
"解包:tar -xvf FileName.tar 打包:tar -cvf FileName.tar DirName " eg:tar -xvf apache-tomcat-7.0.63.tar.gz
在linux中安装jdk 1.包放入 cd/usr/local下 2.修改环境变量(根目录下)vim /etc/profile 3.修改环境变量3个: export JAVA_HOME=/usr/local/jdk1.8.0_65 export JRE_HOME=$JAVA_HOME/jre export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin"
在linux中安装tomcat 1.复制apache-tomcat-7.0.63.tar.gz,如上scp; 2.解压; 3.进入conf修改server.xml的端口,3个; 4.启动该tomcat; 5.浏览器中访问,验证是否可以访问成功。" 进入redis,方法 1.cd /usr/local/; 2.进入具体的redis; 3.cd src,然后操作4启动,远程到客户端 4.进入redis客户端: ./redis-cli -h ip -p port; 5.然后操作查询,删除等;eg:get key1;del key1... 启动redis,方法 1.先进入cd /usr/local 2.再次进入具体的redis, 3.在进入src 4.启动命令:./redis-server /usr/local/Redis/redis.conf"
posted @ 2019-10-28 18:00  大九~  阅读(356)  评论(1编辑  收藏  举报