目录

  • linux常用命令
      • 〇、连接远程linux主机
      • 一、日常使用命令
        • 1、开关机命令
        • 2、常用快捷键命令
        • 3、常用工具命令
      • 二、常用目录或文件操作命令
        • 1、展示目录列表命令ls(list)
        • 2、切换目录命令cd(change directory)
        • 3、目录的创建和删除
        • 4、文件的创建和删除
        • 5、文件打包或者解压命令
      • 三、linux中的权限问题
      • 四、文件/文件夹的复制、移动、查看
      • 五、文件内容查看
      • 六、系统常用操作命令
      • 七、磁盘及分区管理
      • 八、常用的功能性复合命令汇总

linux常用命令

注意:1、<>代表是必填项,[]表示是选填项。真正填入的时候不需要加<>和[];2、本文命令以cenos7为例进行测试。

〇、连接远程linux主机

  • 使用ssh命令(linux主机需要开启ssh服务):ssh <用户名>@<主机IP>,例:ssh root@101.32.155.100
    之后会提示输入用户密码,正确输入密码即可进入。

一、日常使用命令

1、开关机命令

  1. shutdown -h now:现在关机
  2. shutdown -r now:现在重启
  3. reboot:现在重启计算机
  4. su [用户名]:切换用户,不加用户名的话默认切换到root用户
  5. password :修改密码 # 未成功
  6. logout:用户注销

2、常用快捷键命令

  1. tab:补全
  2. ctrl+l:清屏
  3. ctrl+r:查找历史命令
  4. ctrl+c:终止
  5. ctrl+k:删除此处至末尾的所有内容
  6. ctrl+u:删除此处至开始的所有内容

3、常用工具命令

  1. man

  2. wc(wordcount):文本统计

    1. 常见参数
      1. -l:只查看行数
      2. -w:只查看单词数
      3. -c:只查看字符数
  3. du:文件大小统计

    1. 常用参数:
      1. -s:只统计该文件目录的大小,不递归
      2. -h:人性化显示单位
  4. find:文件检索命令

    语法:
    	find	path	[-option]	[-exec|-ok	command]	{} \;
    	注意:
    		<>中的内容是必填项,[]中的内容是选填项;
    		-exec command是对查找出来的文件执行command命令;
    		{} 花括号代表前面find查找出来的文件名,就是对他们执行command;
    		然后是一个空格;
    		语句必须以分号结束,因为不同系统对分号解析可能有区别,所以前面价格转义符。
    		-ok和-exec作用相似,不同的是-ok在执行内一个命令之前都会提示用户确认
    	参数说明:
    		find:find之后,第一个命令参数之前的内容是搜索路径,默认为当前路径,命令参数默认位[-print](. 表示当前目录及其子目录)
    		命令参数[-option]众多:
    			-amin n:在过去n分钟内被读取过
    			-atime n:在过去n天内被读取过
    			-anewer file:比file文件更晚被读取过的文件
    			
    			-cmin n:在过去n分钟内被修改过
    			-ctime n:在过去n天内被修改过
    			-cnewer file:比file文件更晚被读修改的文件
    			
    			-empty:空的文件
    			-path p 和 -ipath p:路径名符合p的文件,ipath会忽略大小写
    			-name fileName 和 -iname fileName:文件名符合p的文件,iname会忽略大小写
    			-type c:文件类型是c的文件(c的取值:目录d,一般文件f,符号链接l,socket s,)
    			-size n单位:文件大小是n单位,例:10k
    	例子:
    		查找/var/log 目录中更改时间在7日以前的普通文件,并在删除他们以前询问用户:
    		find /var/log -ctime +7 -type f -ok rm {} \;
    		
    
  5. grep命令:

    ​ Grep 是 Global Regular Expression Print 的缩写,它搜索指定文件的内容,匹配指定的模式,默认情况下输出匹配内容所在的行。注意,grep 只支持匹配而不能替换匹配到的内容。

    #### 常见用法
    # 1、在当前目录中递归查询所有文件中包含username字符的行
    grep -r "username" ./
    # 2、在指定文件中查找某字符串所在行的内容
    grep "被查找的字符串" 文件名
    # 3、在制定文件查找符合某正则表达式的文本所在的行
    grep –e "正则表达式" 文件名
    # 4、忽略大小写
    grep –i "被查找的字符串" 文件名
    # 5、在指定文件中查找某不匹配该字符串的行的内容
    grep –v "被查找的字符串" 文件名
    # 6、从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 "ERROR" 的行:
    find / -type f -name "*.log" | xargs grep "ERROR"
    # 7、
    find . -name "*.in" | xargs grep "thermcontact"
    
  6. I/O重定向:>, 覆盖输出 ;>>,追加输出

  7. 管道:管道是将前一个命令的输出作为后一个命令的输入

  8. xargs:是给其他命令传递参数的一个过滤器,它擅长将标准输入数据转换成命令行参数

    cat test.txt | xargs # 多行数据单行输出
    

二、常用目录或文件操作命令

1、展示目录列表命令ls(list)

  1. ls;ls -a;ls -l;ll;ll -a;ll -h,友好的显示当前目录下的文件信息;pwd

2、切换目录命令cd(change directory)

  1. cd test;cd …;cd ~;cd -;

3、目录的创建和删除

  1. mkdir test:在当前目录创建test目录
  2. mkdir -p test/a/b:在test目录下的a目录下创建b目录,如果a目录不存在一并创建
  3. rmdir test:删除当前目录下的test目录

4、文件的创建和删除

  1. touch test.txt:创建text.txt文件
  2. rm test.txt:删除test.txt文件,删除前询问用户
  3. rm -f test.txt:直接删除,不询问
  4. rm -r test.txt:递归删除,test目录及其子目录,删除前询问用户
  5. rm -rf test.txt:递归直接删除

5、文件打包或者解压命令

  1. 打包并压缩文件(打包文件.tag,压缩文件.gz),一般情况下,打包和压缩是在一起的,打包压缩后文件后缀为.tag.gz。
    1. 命令:tar -zcvf <指定打包压缩后的文件名> <要打包的文件>
      1. z:压缩
      2. c:打包
      3. v:显示运行过程
      4. f:指定文件名
    2. 注意:指定新文件名要自己加后缀,如tar -zcvf test.txt.tag.gz aa
  2. 解压压缩包
    1. 命令:tar [-xvf] <压缩文件>
      1. x:解压缩
      2. v、f和打包压缩的时候用法一致
    2. 主要:要解压的压缩文件名要写全,如tar -xvf test.txt.tag.gz
  3. zip类型:unzip <文件名>
  4. rar类型
#1.安装rar解压工具
wget http://www.rarlab/rar/rarlinux-x64-5.0.0.tar.gz
tar -zxvf rarlinux-x64-5.0.0.tar.gz
mv rar /opt/
cd /opt/rar/
make && make install

#2. 使用:

#2.1、rar命令
rar a test.rar file1 file2  #压缩

#2.2、unrar命令
unrar e test.rar DestPath  #解压(会在把当前压缩包内容解压到当前目录内,容易造成解压内容和当前目录原文件混合,不容易区分,不建议使用)
unrar x test.rar DestPath  #解压(会在当前解压目录内产生一个以压缩包名字命名的目录,目录内是解压内容,推荐使用)

三、linux中的权限问题

文件详情:

因此可以得出,文件的权限问题就是:所有者、同组用户、无关用户对文件的读、写、执行操作的管理。

注意:读权限用数字4表示,写权限用数字2表示,执行权限用数字1表示,同时拥有读写权限则为数字6

  1. 修改文件/或目录的权限:chmod
    1. 例:修改文件test.txt文件的权限为,所有者拥有读写执行权限、同组用户可读可执行,其他用户没有权限,chmod 730 test.txt
  2. 修改文件的所属用户和所属组
    1. chown userName:groupName fileName,修改文件所属用户和所属用户组
    2. chown userName: fileName,修改文件所属用户
    3. chown :groupName fileName,修改文件所属用户组
  3. 用户管理
    1. 查看所有用户:users,或者查看etc/password
    2. 添加用户:useradd <用户名>,useradd -d <指定家目录> <用户名>,useradd -g <组名> <用户名>
    3. 删除用户:userdel <用户名>,userdel -r <用户名>
    4. 查询用户信息:id <用户名>
    5. 修改用户所在组:usermod -g <新组名> <用户名>
  4. 用户组管理
    1. 查看所有:groups,或者查看etc/group
    2. 添加组:groupadd <组名>
    3. 删除组:groupdel <组名>
    4. usermod -aG wheel username. #centos将用户添加到wheel组即可执行sudo

四、文件/文件夹的复制、移动、查看

  1. 复制命令:cp
    1. 语法
      1. cp [-option] source destination
      2. cp [options] source1 source2 .... directory
    2. 选项和参数
      1. -d 若来源档为连结档属性,则复制结档属性而非文件本身
      2. -p 连同文件的属性一起复制过去
      3. -r 递归连续复制,用于目录
      4. -a 相当于-pdr
      5. -f 强制
      6. -i 若目标档已存在,询问用户
      7. -l 复制文件的硬式链接,而不是文件
      8. -s 复制成为符号链接档,快捷方式
      9. -u destination比source旧才升级
  2. 删除命令:rm
    1. 语法
      1. rm [-option] 文件或者目录
    2. 选项与参数
      1. -r -f -i
  3. 移动或改名:mv
    1. 语法
      1. mv [-option] source destination
      2. mv [options] source1 source2 .. directory
    2. 参数
      1. -rfi

五、文件内容查看

  • cat 有第一行开始显示文件
    • -b 显示行号
    • -n 显示行号 包括空行
    • -A = -vET
    • -T tab显示为见 I
    • -v 列出一些看不出来的特殊字符
    • -E 结尾的断行字节$显示出来
  • tac 从最后一行开始显示,cat倒过来写
  • nl 显示行号
    • -b 制定行号显示方式:-b a 忽略空行,-b t 不忽略空行
    • -n 行号的表示方法:-n ln 左边显示,-n rn 右边显示且不加0 ,-n rz 右边显示且加0
    • -w 行号占用的位数
  • more 一页一页的看
    • enter:下一行
    • 空格:下一页
    • b:上一页
    • :f 显示文档名和目前的行数
  • less 一页一页的看,可以翻页
    • B上一页
    • 空格下一页
    • /字串 向上搜索字串
    • ?字串 向下搜索字串
    • n 重复前一个搜索(/ or ?)
    • N反向重复前一个搜索(/ or ?)
  • head 只看头几行
  • tail只看尾几行:tail -n number;-f:表示持续侦测后面所接收的文档名,ctrl+c结束侦测


六、系统常用操作命令

  1. 编辑sudo命令的配置:visudo

    Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

    使用权限:在 /etc/sudoers 中有出现的使用者。

    #用户名 登陆的主机= (以什么样的身份运行) 可以执行什么样的命令
    # eg:
    lyx ALL=(root) NOPASSWD:ALL # allow lyx to run all commands anywhere
    
  2. 网络管理:ping、ifconfig

  3. 服务管理:

    1. 服务启动|关闭|状态查看|重启: service service_name start|stop|status|restart
      1. linux自带的所有服务名称在:/etc/init.d/ 下
      2. 如:network(网络)、iptables(防火墙)、mysql(mysql5.5之前叫mysqld)
    2. 设置某服务是否开机自启
      1. 检查:chkconfig iptables --list
      2. 设置:chkconfig iptables on|off
  4. 进程管理:ps

    1. 查看某进程:ps -ef | grep java(如安装了JDK可用jps代替这条命令)
    2. 杀死某个进程:kill -9 pid
  5. 端口管理

    1. netstat:netstat 是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。netstat 命令的基本信息如下。
    2. 参数
      • -a:列出所有网络状态,包括 Socket 程序;

      • -c秒数:指定每隔几秒刷新一次网络状态;

      • -n:使用 IP 地址和端口号显示,不使用域名与服务名;

      • -p:显示 PID 和程序名;

      • -t:显示使用 TCP 协议端口的连接状况;

      • -u:显示使用 UDP 协议端口的连接状况;

      • -I:仅显示监听状态的连接;

      • -r:显示路由表;

    3. 常用:netstat -atunlp

七、磁盘及分区管理

1、Linux磁盘类型

  • IDE类型:
    - 个人电脑常用磁盘类型,缺点是在读写操作时都大量消耗CPU资源 ,优点是性价比高适用面广。
    - 磁盘在系统中的标识:sd,例如第一块IDE类型磁盘的第一个分区为sda1
  • SCSI类型:
    - 服务器常用磁盘类型,缺点是贵,优点是在大量数据读写时,自己的处理器会处理,占用CPU很少的资源;同时扩充性好、稳定、可靠。
    - 磁盘在系统中的标识:hx,例如第一块SCSI类型磁盘的第三个分区为hxa3

2、常用分区类型及特点

  • mbr分区:
    • 最多支持4个主分区
    • 系统只能安装在主分区
    • 扩展分区站一个主分区(扩展分区可有多个逻辑分区)
    • 最大支持2TB,但拥有较好的兼容性
  • gtp分区:
    • 支持无限多个主分区
    • 最大支持18EB的分区1024*1024TB
    • win7 64为以后支持

3、查看磁盘分区及挂载信息

lsblk -f

案例:给linux增加一块新的硬盘并且挂载到 /home/newdisk

  1. 步骤:虚拟机添加硬盘;设置分区;格式化分区;挂载目录
  2. 操作:
    (1)虚拟机设置中添加一块磁盘,重启虚拟机生效。
    (2)lsblk -f命令查看新添加的磁盘名称
    (3)对磁盘进行分区:
    1)fdisk /dev/sdb # 对第二块mbr磁盘分区
    2)n
    3)p
    4)默认
    5)默认
    6)w #写入
    (4)格式化刚才的分区:
mkfs -t ext4 /dev/sdb1		#mkfs = make file system

(5)设置挂载目录

mount sdb1 /home/newdisk		#卸载:unmount sdb1 /home/newdisk

(6)设置永久在动挂载

vim /etc/fstab

4、磁盘状态查询

  1. df –lh:查新磁盘整体使用情况
  2. du -h 目录:查询某个目录的磁盘使用情况
    -s:指定目录占用大小汇总
    -h:带计量单位
    -a:含文件
    -max-depth=1:子目录深度
    -c:列出明细的同时增加汇总值

八、常用的功能性复合命令汇总

# 统计某个目录下面某种类型(或多种类型)的文件内容的行数。可用来统计代码行数
# 例:统计当前所在目录下 .java文件和,xml文件的行数 注意:统计多种类型的文件用 -or 连接,同时"("和")"不能缺,只统计一种类型的话"("和")"可以省略。
find ./ "(" -name "*.java" -or -name "*.xml" ")" -print | xargs wc -l
#统计某目录下文件的个数:
ls –l /etc | grep     “^-” |wc -l
#统计某目录下目录的个数:
ls –l /etc | grep     “^d” |wc -l
#统计某目录下文件的个数:
ls –lR /etc | grep     “^-” |wc -l
#统计某目录下目录的个数:
ls –lR /etc | grep     “^-” |wc –l
#以树状展示目录结构:
#Yam安装tree:
yam  instal tree
tree
#查看某个文件夹的大小
du -sh 文件夹名称 

#查看nginx配置文件位置
nginx -t

#scp使用
#将当前路径下的pn-acess-0.0.1-SNAPSHOT.jar文件上传到101.132.155.132服务器的root用户的/home目录下,命名为pn.jar
scp ./pn-acess-0.0.1-SNAPSHOT.jar root@101.132.155.132:/home/pn.jar

更多推荐

linux常用命令-查询手册