(二)Linux常用命令

系统命令行含义

示例:[root@localhost ~]# 
root    //用户名,root为超级用户
@       //分隔符
localhost   //主机名称
~       //当前所在目录,默认用户目录为~,会随着目录切换而变化,例如:(root@localhost /bin# ,当前位置在bin目录下)
#       //表示当前用户是超级用户,普通用户为$,例如:("chenqi@localhost /root$" ,表示使用用户"chenqi"访问/root文件夹)
  • 命令行组成结构
命令 参数名 参数值

基础操作命令

关闭系统(shutdown)

shutdown -h now 或者 poweroff  //立刻关机

shutdown -h 2                 //两分钟后关机

重启系统(reboot

shutdown -r now    或   reboot       //立刻重启

shutdown -r 2                       //两分钟后重启 

帮助(help)

ifconfig --help            //查看ifconfig命令的用法

命令说明书(man)

man ifconfig     //打开命令说明后,可按“q”键退出

切换用户(su

su chenqi           //切换为用户“chenqi”,输入后回车需要输入该用户的密码,但是用户权限没有切换,需要使用“ su - ”完全切换
exit                //退出当前用户

目录操作命令

.. 表示上级

.  表示当前目录

切换目录(cd

cd /               //切换到根目录
cd /bin            //切换到根目录下的bin目录
cd ../           //切换到上一级目录 或者使用命令:cd ..
cd ~            //切换到home目录
cd -              //切换到上次访问的目录
cd 文件夹名         //打开本目录下的名为(文件夹名)的文件夹(相对路径)
cd /xxx/xx/x       //输入完整路径直接切换到目标目录,可使用tab键快速补全(绝对路径)

查看目录(ls

ls        //查看当前目录下的所有目录和文件
ls -a     //查看当前目录下的所有目录和文件(包括隐藏文件)
ls -l     //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令“ll”效果一样
ls /bin   //查看指定目录下的所有目录和文件

创建目录(mkdir  make directory)

mkdir tools         //在当前目录下创建一个名为tools的目录
mkdir /bin/tools    //在指定目录下创建一个名为tools的目录

删除目录与文件(rm

rm 文件名        //删除当前目录下的文件
rm -f 文件名     //删除当前目录的文件(不询问)
rm -r 文件夹名   //递归删除当前目录下此名的目录
rm -rf 文件夹名  //递归删除当前目录下此名的目录(不询问)
rm -rf *        //将当前目录下的所有目录和文件全部删除
rm -rf /*       //将根目录下的所有文件全部删除【相当于格式化系统】

 

修改目录(mv

mv 当前目录名 新目录名         //修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt       //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv -r /usr/tmp/tool /opt    //递归剪切目录中所有文件和文件夹

拷贝目录(cp

  • 复制文件或目录,语法格式同mv。使用该指令复制目录时,必须使用参数"-r"或者"-R":复制该目录下所有的子目录和文件
cp -r 源文件 目的文件
cp -r /usr/tmp/tool /opt       //将/usr/tmp目录下的tool目录复制到 /opt目录下面

搜索目录(find

  • 使用该命令时,不设置任何参数,则find命令将在当前目录(./)下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
find /bin -name 'a*'        //查找/bin目录下的所有以a开头的文件或者目录
  • -type 以文件类型查找,d——目录;f——普通文件

  • -exec 命令 {} \    可执行操作,先find 出来,再进行对应操作。如:find /bin -name 'a*' -exec rm -rf {} \            ——查找/bin目录下的所有以a开头的文件并删除。

查看当前目录(pwd

pwd                         //显示当前位置路径

文件操作

增(touch)

  • touch  a.txt         //在当前目录下创建名为a的txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间
  • 重定向:“>”  ——覆盖;“>>”  ——追加

  • rm 文件名              //删除当前目录下的文件

cat a.txt          //一次性显示全部内容。-n 显示行号,包括空行;-b 显示行号,不包括空行
less a.txt         //PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt         //以一页一页的形式显示,回车查看下一行,空格查看下一页,按 b 键就会往回(back),q 退出查看
tail -100 a.txt    //查看文件的后100行,"Ctrl+C"退出查看
head -20 a.txt     //显示头20行的内容,默认参数是10行
sed                //固定搜索一段的内容,两个关键字之间的内容,一般用于查看一段时间的日志
vi                 //也是查看文件的六个操作之一 
  • tail -f 日志文件:查看动态日志。查看后500行的日志文件:tail -500f 日志

编辑(vi /vim 

  • vi 可以新建一个不存在的文档并进入。刚进入文件就是命令模式,通过方向键控制光标位置。想要进行修改,按 i  ,  查看o  ,  a  进入编辑模式(insert mode)。编辑模式下按“esc”进入命令模式,再按“:”进入底行模式。
  • 命令模式:

    • “dd”  删除当前整行 ;“x”   删除当前光标处字符
    • “nG”  进入第n行的行首,“G”  直接进入末行行首
    • "/字段"  进行查找(从上往下);“?字段”   从下往上查找  ; “n”   下一个  ;“N”   上一个
    • "i"  在光标所在字符前开始插入;"a"  在光标所在字符后开始插入 ;"o"   在光标所在行的下面另起一新行插入
    • u  撤销  ;  “^”快速定位到行首;  “$”   快速定位到行末”
  • 底行模式:

    • “:q”   退出编辑 ; “:q!”   强制退出 ;“:wq”    保存并退出
    • “:%s/字段”    

用户管理

相关概念

  1. /etc/passwd文件是用户管理工作涉及的最重要的一个文件。/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如:  
    用户名:口令:用户标识-号:组标识号:注释性描述:主目录:登录Shell

用户

增(useradd)

 

useradd 选项 用户名

选项:

 

  • -c comment            指定一段注释性描述。
  • -d 目录                    指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组                指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件            指定用户的登录Shell。
  • -u 用户号           指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  • -l 新用户名         指定一个新的账号,即将原来的用户名改为新的用户名

      

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等

删(userdel

 

userdel 选项 用户名

选项:-r 把用户的主目录一起删除

 

改(usermod

更改用户的有关属性,如用户号、主目录、用户组、登录Shell等

 

usermod 选项 用户名

选项:包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样

 

 

# usermod -s /bin/ksh -d /home/z –g developer qiqi        //此命令将用户qiqi的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

 

查(id)

用户的信息记录在 /etc/passwd;组的信息记录在/etc/group里,使用more命令查看

 

id 用户名        //查看用户信息

 

用户口令的管理

  • 用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

 

passwd 选项 用户名

选项:

 

  • -l 锁定口令,即禁用账号。(lock)
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。
  • 若用户名缺省,则修改当前用户的口令。

  • 组的增加、删除和修改实际上就是对/etc/group文件的更新。

增(groupadd)

    • groupadd 选项 用户组

      选项:

      • -g GID 指定新用户组的组标识号(GID)。
      • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

删(groupdel)

    • groupdel 用户组 

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

  • $ newgrp root

系统设置命令

echo

  • 显示内容,如果涉及变量,需要在变量前加上 \$ 符号;删除变量 unset 变量名

export

  • 用于设置或显示环境变量
export [-fnp] [变量名称]=[变量设置值]

 

alias 

  • 设置别名。仅输入alias,则可列出目前所有的别名设置。删除别名使用 unalias 别名
alias [别名]=[指令名称]

source

 

网络命令

ifconfig

uname -a 查看系统信息

hostname

cat /proc/version 查看具体版本信息

netstat

显示网络状态

netstat -anp | grep :22        //用户查看22端口信息;a:all 显示所有连线中的socket;n:numeric 直接使用IP地址 ; p:programs 显示正在使用socket的程序识别码和程序名称

ping

主要来检查网络是否畅通。执行ping指令会使用ICMP传输协议。

ping [ip]

telnet

连接远程。默认访问23端口;要访问33端口,则 telnet  ip 33

ssh

跨服务器

ssh 用户名@ip        //默认访问22端口,使用exit退出

scp

远程复制文件

scp [-r] 用户名@ip:目标文件路径 欲存放到本地的文件路径        //r为对目录操作
scp root@192.168.6.128:/root/haha/1.log .        //将对方服务器上的1.log下载到本地当前目录下
scp ./2.log root@192.168.6.128:/root/haha        //上传文件2.log到对方服务器

ftp

sftp

传输文件,get——取;put——上传

资源管理

df du

查看磁盘资源

mount

挂载;解除挂载:unmount 挂载点

top

实时查看系统的资源情况;vmstat也可以查看资源:vmstat 1 5 每一秒监控一次,输出五次

top -n 2 -b > 1.log        //将更新显示二次的结果输入到名称为 1.log 的文件里
                           //-n:更新的次数,完成后退出top;-b:搭配 "n" 参数一起使用,可以用来将 top 的结果输出到文件内  

ps

查看系统运行的进程,一般使用ps -ef | grep 进程名 获取进程id,使用kill [-9] 进程id 就可以停止   // -9 参数为彻底杀死进程;kill -KILL 强制杀死进程

service sshd start ——启动ssh服务

ps -ef        //显示所有命令,连带命令行
ps -auxf | sort -nr -k 4 | head -10        //找出占用内存资源最多的前10个进程。
ps -auxf | sort -nr -k 3 | head -10        //找出占CPU资源最多的前10个进程

备份压缩

gzip

  • 生成“.gz”的压缩包。只会压缩单个文件,单个文件压缩成单个包。不保留源文件
  • gzip -d或gunzip 解压,解压中有目录需要加-r参数。-r 是压缩目录的,表示递归,本身gzip不压缩目录
gzip [参数] 文件名/目录

bzip

  • 生成“.bz2”的压缩包。不保留源文件
  • bzip -d 或bunzip 解压。

zip

  • 生成“.zip”的压缩包。保留源文件
  • unzip解压,这里-d表示从压缩文件内删除指定的文件
zip -r cp1.zip /root/        //压缩/root/目录生成名为“cp1.zip”的包

tar

  • 用于备份文件
tar -cvf qiqi.tar qiqi        //压缩
tar -xvf qiqi.tar             //默认解压到当前,通过-C指向解压到的位置
                              //tar -xvf qiqi.tar -C /home
  • 对于.tar.gz 或者.tgz
tar -zcvf qiqi.tar.gz qiqi        //压缩
tar -zvxf qiqi.tar.gz              //解压

war

  • web项目包,java的
  • jar -xvf XX.war 

jar

  • jar包,里边是方法class,java的

rpm

  • 是redhat专用包
  • + 安装:rpm -ivh XXXX.rpm [--force] [--nodeps]-------解释:--force 强制 --nodeps 不依赖
    + 卸载:rpm -e XXXX.rpm [--force] [--nodeps]
    + 升级:rpm -Uvh XXXX.rpm
    + 查看已经安装了哪些rpm包:rpm -qa | grep XX

其他命令

grep(三剑客之一)

  • 用于查找文件里符合条件的字符串
grep -i "the" demo_file              //在文件中查找字符串(不区分大小写)
grep -A 3 -i "example" demo_text     //输出成功匹配的行,以及该行之后的三行
grep -r "ramesh" *                   //在一个文件夹中递归查询包含指定字符串的文件
    • n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
    • -i或--ignore-case 忽略字符大小写的差别。
    • -v 反向查找  ; -V  显示版本信息
    • []  范围匹配,如:grep "qiqi[925]" qiqi.txt ,结果为qiqi9,qiqi2,qiqi5;
    • .   表示一位,如:grep -n "1[3578]........." phone.txt  匹配移动的电话号码; .*  表示任意,相当于 like "%%"
    • 一行以什么开头的关键字  ^    ; 一行以什么结尾  $   ;
    • | 管道符。二次次搜索,相当于且。

sed(三剑客之一)

awk(三剑客之一)

sort

  • 排序的:sort -nr -k 4 qiqi.txt      ——对第4列数字排序,倒序

wc

  • 用于计算字数,默认的情况下,wc将计算指定文件的行数、字数,以及字节数

 

wc [-clw][--help][--version][文件...]

which

where is

diff

posted @ 2020-08-07 16:48  来一杯大大大可  阅读(139)  评论(0编辑  收藏  举报