linux常用命令总结

常用命令

系统命令

登陆与登出

telnet 主机IP——telnet 192.168.0.23

login: 用户名

passwd:密码

退出系统

exit:不同shell相互交换退出

ctrl+D:结束终端输入

ctrl+c:工作一半输出还要继续工作

修改密码

passwd6-8个字符)

old passwd: 原密码

new passwd:新密码

confirm passwd:确认密码

目录命令

改变当前工作目录

cd:改变当前工作目录。后面可以是绝对路径也可以是相对路径

cd ~ :回到用户主目录

cd 目录名:改变当前目录到指定的目录

cd .. :改变当前目录到上一极目录

cd . :回到当前目录

显示当前工作目录

pwd:显示当前工作目录

列出指定目录下的文件和子目录

ls:列出指定目录下的文件和子目录

ls 列出目录下的所有子目录,文件,隐藏文件(以.开头的文件)

ls R 从当前目录开始列出所有的子目录结构,文件;并一层一层地往下显示

ls t 以修改时间为序来列出文件、子目录、

ls l 以长列表的形式列出文件,子目录信息 也就是他们的属性

ls F 列出文件,子目录及文件类型(*可执行文件,@软链接文件,/:目录,无:普通文件)

权限控制

文件:r—打开文件来查看内容,如cat,more命令就需要读权限

           w—可以更改文件内容,如cp,vi命令要求有写权限

           x—可以执行这个文件(必须是可执行文件*.sh

目录:r—查看目录的内容,文件和子目录。如ls要求有读权限

          w—可以在该目录中创建,删除,移动子目录或文件。如touch,rm,rmdir,cp,mkdir要求有写权限

           x—你是否能进入这个目录cd

修改权限:

chmod u/g/o +/- r/w/x 文件或目录名

chmod nnn[为数字] 文件/目录名

chmod u+r,g-w,o=x file1, chmod 655 file

 普通文件常用权限:644;目录常用的权限是:755

创建目录

创建目录:mkdir

         mkdir dir1 dir2 dir3 在当前目录中创建3个目录他们为同级目录

         mkdir dir9/dir4 在当前目录中dir9目录创建一个目录dir4,但是dir9目录必须存在

         mkdir ~/dir5 在用户主目录下创建dir5

         mkdir –p dir6/dir7/dir8 在当前目录中创建一个目录结构

    dir6存在不存在都可以

文件命令

创建文件

创建文件:touch

                  touch 文件名

文件存在,则更新该文件的最后一次修改时间

文件不存在,则创建一个新的空文件

拷贝文件/目录

拷贝文件/目录:c

         cp sourcefile objectfile 拷贝源文件为目标文件

         目标文件不存在则新建目标文件。把原文件的内容放到新建文件中

         目标文件存在则用原文件的内容覆盖目标文件的内容

          cp –i sourcefile objectfile 拷贝文件,但若目标已存在,则询问是否覆盖

         如果是y则目标文件中放的是源文件的内容

         如果是n则目标文件中的内容还是原来的内容

         cp –r sourcedir objectdir 拷贝源目录到目标目录

           目标目录是否存在则它的拷贝内容是不一样的?

         目标目录存在:源目录为目标目录的子目录

cp –r wfx1 wfx2

wfx2存在目录结构为:wfx2

                                        wfx1

目标目录不存在:目标目录和源目录同级

wfx2不存在则为wfx1 wfx2

移动文件/目录

移动文件/目录:mv 源文件,源目录都不存在

         mv sourcefile objectfile 源文件内容覆盖目标文件,

         目标文件不存在,则源文件改名为目标文件(mv –i 则覆盖时询问)

         mv sourcedir objectdir 目标目录存在则源目录移动到目标目录中成为子目录。

         目标目录不存在,则把源目录的名字改为目标目录的名字

删除文件/目录

删除文件/目录:rm rmdir rm –r

rm file:删除文件,rm –i file询问是否删除文件

rm file1 file2 file3 删除多个文件

       rmdir dir:删除目录,但dir必须是空目录

       rm –r dir1:删除非空目录,会删除目录中所有的内容。这里会询问我们要不要删除

rm –rf dir3:删除非空目录,会删除目录中所有的内容,不询问我们到底要不要删除。

创建链接文件

创建链接文件:ln

         ln –s 被指向的源文件建立的链接文件:建立软链接

         首先我们修改任何一个文件内容,另一个文件的内容也相应修改

         删除源文件以后。链接文件就不可以在操作。我们把安装文件给删除了。快捷方式就没有用了

         删除链接文件不会影响到源文件。源文件还可以操作

         ln 被指向的源文件建立的链接文件:建立硬链接

         首先我们要是修改任何一个文件中的内容,另一个文件也会相应的修改。删除源文件不会影响链接文件,删除链接文件不会影响源文件

软链接:abc(l:表示是软链接文件)→abc.txt(普通文件)abc文件中有abc.txtinode号,abc指向abc.txt,就向windows中的快捷方式一样,2个是不同的文件

硬链接:abcabc.txt都指向同一个inode的文件块,是同一个文件

帮助命令

帮助命令:man 命令名;man

         空格:向后翻屏,b:向前翻屏,回车:向后滚动一行,/字符串:查找字符串

特殊字符

*:通配0或多个字符ls d*

?:通配一个字符ls d?.txt

[]:通配一个范围中的任何一个字符ls [b-f]b*

;:命令的结束符,一次可执行多条命令cd;pwd

>:输出重定向,将命令的执行结果重新输出到非标准输出,如文件。cal 2 2002 > file1

<:输入重定向,不从我们键盘的标准输入,cat <file1 >file2

>>:以追加方式将命令的执行结果输出到非标准设备cal 7 2002>>calfile

|:将前一个命令的的执行结果作为后一个命令的输入cat /etc/passwd | more

查找

文件查找

文件查找:find

find path –name filename :按文件名查找

find path – user0 username :按文件的拥有者查找user0root用户user1soft用户

find path –atime +10/-10 按文件的访问时间来查找(+表示超过表示不足)

find path –mtime +/-days 按文件的访问时间来查找

find path –type f/d :按文件的类型来查找f:查找文件;d:查找目录

find path –perm 644/755 : 按文件的权限查找

用户查找

who:查看当前在线用户的详细信息

用户名终端号登陆时间登陆机器的本地IP

who am I 总是自己,即登陆时的自己

用户名终端号登陆时间登陆机器的本地IP

whoami 只查看用户名

w:查看当前在线用户的更详细的信息

USER(用户名) TTY(终端号)FROM(本地IPLOGIN(登陆time) IDLE JCPU) PCPU( 累计使用cpu时间) WHAT(执行命令)

过滤文件和目录

grep 在命令结果或文件中进行过滤

grep root /etc/passwd  在这个文件中找出有root的行

 ls –al | grep  -i ‘sep 1’ 这里是忽略大小写

 xargs:它是分隔开的意思,ls f* | rm 这样的写法是错误的。我们找到这些文件要一个一个删除。因此ls f* | xargs rm 才是正确的

grep –i  忽略大小写grep –v 反向过滤去掉有grep这个单词的那一行

统计文件或执行结果

wc: 字符数,行数,单词数

wc –c 统计字符数ls –l | grep init | wc -c

wc –w 统计单词数

wc –l 统计行数

进程

启动或创建进程

ps :列出当前终端启动的进程

ps –ef :列出当前系统中运行的进程,详细列表列出

uid(用户Id) pid(进程Id) ppid(父进程Id) c(标志位) stime(进程启动时间)tty(终端号)time(累计使用cpu的时间)cmd(进程执行的命令)

ps –ef | grep 用户名

终止或结束进程

Kill 进程号;ctrl+c 杀掉终止进程

Kill -9 进程号可以杀掉终止某些高级的进程

killall java

Sleep:创建休眠进程

Sleep 1000 &

[1](作业号)pid(进程号)  sleep(休眠命令)

fg%n(作业号):将进程放到前台

bg%n :将进程放到后台

stop%n 暂停进程;ctrl+z 把这个进程给挂起

kill%n : 终止进程

网络命令

ftp:文件传输

ftp 192.168.0.250

lirui

123456

cd:改变远程服务器的当前目录

lcd:改变本地的当前目录

dir:查看远程机器的当前目录内容

get:从服务器上下载一个文件(mget 多个文件名)

put:从本地机器上传一个文件到服务器(mput

hash:开关变量(on/off)设置传输大文件过程中,每传输2k字节显示一个#

prompt:开关变量,设置在传输多个文件时,是否给提示on /off

ls:查看远程当前目录内容

文件的查看

cat 不分屏查看文件内容;可以将多个文件连接成一个大文件

cat filename

cat file1 file2 > file3

cat /dev/null > ~/b.txt : b.txt存在,将这个文件清空; b.txt不存在,则创建一个空文件

more:分屏显示 more filename   ls al |more

空格:翻滚到下一屏,b:上一屏,f:下一屏,回车:下一行,/字符串

tail  -n(n是行数) 从尾行往上看

head n 从首行看

默认为10

文件编辑

文件编辑:vi

vi的三种模式:命令模式,输入模式,最后行模式

输入模式:i:在光标当前位置开始编辑

                   a:在当前位置之后编辑

                   o:在当前光标位置的下一行编辑 复制当前行 yy 粘贴 p 剪切 dd 其他操作 撤销 u 恢复 ctrl + r

光标移动:h:向左移动,l:向右移动,j:下移一行,k:上移一行

                     $:到行尾,^:到行首,G:到最后一行,nG,1G

文本操作:x:删除光标所在位置的一个字符

                     dw删除从标位置开始的一个单词

                     dd:删除光标所在的一行  5dd:就是删除5   510d5到行给删除

                     r:替换光标所在的字符

                     cw:替换光标开始的一个单词

                     cc:替换光标所在行

                   C:替换从光标到行尾

                     yw:拷贝光标开始的一个词

                     yy:拷贝光标所在的一行

                     p:在当前光标所在的行的下方粘贴、

          12co31.2行拷贝一份防到3行后面

          45m645行移动到6行之后

                             文件操作:q!:强制退出,wq!:保存文件并退出ZZ

             :set nu 显示行号  :set nonu 把行号给去掉 快速到达文件的最后一行 G 快速到达文件的第一行 gg 快速到达文件的某一行 10gg

系统初始化文件与环境变量

bsh:系统初始化文件/etc/.profile   用户初始化文件$HOME/.profile

csh:系统初始化文件/etc/.login 用户初始化文件:$HOME/.cshrc    .login   .logout

环境变量

bash/bsh: set 变量名=‘value’; export 变量名

csh:setenv 变量名value    set 变量名=‘value’

echo $变量名

path:告诉系统在执行命令时,在哪个路径下找该命令的可执行文件。

set path=(… … …) set path=($path newpath)

which 命令名:显示当前执行的命令所在的路径

whereis 命令名:显示命令所在的各个路径

JAVA_HOME:javajdk)的安装目录

CLASSPATHJava 的类路

ORACLE_SID:访问oracleid

MANPATH:帮助手册

shell脚本

         Shell脚本的编写:

         1vi 文件名.sh

                   #/bin/sh 说明命令的/bin/sh去执行下面的命令

                   pwd

                   cal

                   date

         2.增加执行权限

                   Shell 脚本默认是没有执行权限的,所以使用chmod u+x 名字.sh

         3.运行shell 脚本

                   ./名字.sh 运行

系统调度计划

         在特定时间调度系统中的某个程序执行,常常用于系统维护工作

         crontab –l 查看当前系统中的调度计划

         crontab –e 编辑当前系统中的调度计划

         crontab  -r 删除当前系统中的调度计划

         一般计划程序都是用shell脚本编写的,编写内容如下:

         15 16 12 * 3 a.sh

         15:分钟0-5916:小时0-2312:日期1-28/29/30/31 *:月份1-12 3:星期1-7

a.sh在当前目录下编好的shell脚本

         这个调度计划表示在每个月12号,并且那天是星期三的16:15分启动a.sh执行

其他命令

回显命令:echo

echo $WTO:显示变量值;echo “$WTO”“”表示显示变量值;

echo ‘$WTO’ ‘’单引号括起的内容被作为字符串,显示$WTO

echo $WTO $转义符,这样$就代表本身这个符号结果为$WTO而不是WTO里的值

历史记录命令:History

set history=30 :设置系统自动保留前面的30条命令,设置系统自动保留的历史记录数

history :显示最近使用的命令,显示的命令个数由set history来决定

history n :显示最近使用的n个命令

!n 调用第n 条命令!! 调用上一次执行的命令执行

替换命令:alias

alias 代替名被替代的命令

alias h history : h替代history命令; alias c clear  c替代clear命令

alias home ‘cd;ls’ home 替代cd;ls命令组alias 列出已经建立了的替代的命令列表

unalias copy 取消建立的copy替代的命令

 磁盘

df -h

查看端口

netstat -ntlp

lsof -i:80

ps -ef |grep tomcat

原文地址:https://www.cnblogs.com/mensiler/p/10368334.html