参考:狂神说Linux02:常用的基本命令(必掌握)

写在前面:如果读者没有Linux环境,可以像笔者这样使用虚拟机来学习Linux 的基本命令与操作。请移步笔者另一篇文章:[Win10下安装Linux虚拟机]VMWare15运行CentOS7(亲测有效),然后便可以体验下面的Linux命令。

文章目录

  • 目录管理
    • cd命令 切换目录
    • ls命令 列出目录
    • pwd命令 显示当前所在目录
    • mkdir命令 创建目录
    • rmdir命令 删除目录
    • cp命令 复制
    • rm命令 移除文件或目录
    • mv命令 移动文件 、重命名文件
  • 文件属性
    • chgrp命令:更改文件属组
    • chown命令:更改文件属主,
    • chmod命令:更改文件9个属性
  • 文件内容查看(cat/cat/nl/more/less/head/tail)
    • ifconfig命令 查看网络配置
  • Linux链接的概念

目录管理

根目录:/
当前目录:./

cd命令 切换目录

基本公式:

cd 目录名(绝对路径,相对路)

注:绝对路径以/开头

切换目录:cd
返回上一级目录:cd ..

返回上两级目录:cd ../..

切换到根目录:cd /

下图显示了根目录的内容:

如上图,我现在在/home目录,想切换到与之平行的/usr目录,该怎么做呢?

可以使用相对路径(.开头)

cd ../usr # 先回到上层目录 .. 然后相对于上层目录进入它的子目录/usr

也可以使用绝对路径(/开头)

cd /usr

ls命令 列出目录

列出目录:ls
参数:-a表示查看全部文件,包括隐藏文件:ls -a

参数:-l列出所有的文件,包含文件的属性和权限,不包含隐藏文件:ls -l

Linux命令可以组合使用,比如-a和-l参数可以同时使用:ls -al

pwd命令 显示当前所在目录

测试pwd功能的命令:

# pwd显示当前所在目录
[root@localhost /]# pwd
/
[root@localhost /]# cd /bin
[root@localhost bin]# pwd
/bin
[root@localhost bin]# cd /root/Desktop/
[root@localhost Desktop]# pwd
/root/Desktop

mkdir命令 创建目录

命令 mkdir -p 单次创建层级目录

# 直接创建是不可以的
[root@localhost lishizheng]# mkdir test1/test2
mkdir: cannot create directory ‘test1/test2’: No such file or directory#使用 -p参数可以创建多层目录
[root@localhost lishizheng]# mkdir -p  test1/test2
[root@localhost lishizheng]# 

rmdir命令 删除目录

rmdir可以删除空目录,但是不能删除下面子目录的目录,但是可以使用参数 -p来删除

[root@localhost Desktop]# pwd  # 显示当前位置
/root/Desktop
[root@localhost Desktop]# ls
lishizheng
[root@localhost Desktop]# rmdir lishizheng/  #删除空目录
[root@localhost Desktop]# 

删除多级目录
删除前:

删除后:

命令:

# 有子目录,不能直接删
[root@localhost lishizheng]# rmdir test1
rmdir: failed to remove ‘test1’: Directory not empty# 添加 -p 之后输入路径,全部删除
[root@localhost lishizheng]# rmdir -p test1
rmdir: failed to remove ‘test1’: Directory not empty
[root@localhost lishizheng]# rmdir -p test1/test2/

cp命令 复制

公式:

cp 原来的地方  新的地方

测试

[root@localhost lishizheng]# cp hello.cpp nihao/
[root@localhost lishizheng]# cd nihao/
[root@localhost nihao]# ls
hello.cpp

rm命令 移除文件或目录

参数 -i 询问是否删除

[root@localhost lishizheng]# cd nihao/# 新建文件 ni.js
[root@localhost nihao]# touch ni.js#  询问删除
[root@localhost nihao]# rm -i ni.js
rm: remove regular empty file ‘ni.js’? y
[root@localhost nihao]# 

mv命令 移动文件 、重命名文件

文件属性

在linux中第一个字母代表这个文件是目录、文件或链接文件等:

  1. d:目录
  2. -:文件
  3. l:链接文档
  4. b:接口
  5. c:串行端口设备,比如鼠标和键盘

接下来的字符,以三个为一组,且都是[rwx]的组合,其中r代表read读,w代表write写,x代表execute可执行。没有该权限用-表示。三组分别代表:owner/group/others,每组都有三种rwx权限,因此会有9位数。如下图:


图片来源:菜鸟教程

chgrp命令:更改文件属组

公式

chgrp [-R]  属组名 文件名

一般用不到

chown命令:更改文件属主,

公式

chown [-R] 属主名 文件名

chmod命令:更改文件9个属性

工作中经常遇到这个问题:你没有权限操作此文件。此时就需要这个命令chmod
公式

chmod [-R] xyz 文件或目录

文件的权限字符是[rwxrwxrwx]三个三个一组,可以使用数字来代表各个权限:

r:4    w:2  x:1

举例:一个文件属性为可读可写不可执行(rw-),对应的权限数字是6(因为r=4,w=2);一个文件属性可读可写可执行(rwx),对应的权限数字是7。

chmod 777 文件名 #将该文件设置为所有用户可读可写可执行(rwx)

实际测试:

文件内容查看(cat/cat/nl/more/less/head/tail)

Linux系统中使用如下命令查看文件的内容:

  • cat:从第一行开始显示文件的内容
  • tac:从最后一行开始显示,可以看作是cat倒着写
  • nl:显示时输出行号
  • more:一页一页显示文件内容(空格代表翻页,enter一行一行往下)
  • less:和more类似,但是可以往前翻页
  • head:只看头几行,通过[-n]来控制显示几行,比如 head -n 20 nihao.js
  • tail:只看末尾几行

来到etc目录(这是一个配置目录)下面的sysconfig目录
这是虚拟机联网(只有CentOS7)需要配置的地方cd /etc/sysconfig/network-scripts/

[root@localhost /]# cd etc/sysconfig
[root@localhost sysconfig]# ls
atd              init              network          rsyncd
authconfig       ip6tables-config  ⭐⭐network-scripts  rsyslog
autofs           iptables-config   nfs              run-parts
cbq              irqbalance        ntpd             samba
cgred            kdump             ntpdate          saslauthd
console          kernel            pluto            selinux
cpupower         ksm               qemu-ga          smartmontools
crond            libvirtd          radvd            sshd
ebtables-config  libvirt-guests    raid-check       sysstat
fcoe             man-db            rdisc            sysstat.ioconf
firewalld        modules           readonly-root    virtlockd
grub             netconsole        rpcbind          wpa_supplicant

使用cat命令查看network-scripts目录下的文件:

[root@localhost network-scripts]# ls
ifcfg-eno16777736  ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo           ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown             ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep        ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth         ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib          ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp        ifup             ifup-post    network-functions-ipv6
ifdown-ipv6        ifup-aliases     ifup-ppp
ifdown-isdn        ifup-bnep        ifup-routes
ifdown-post        ifup-eth         ifup-sit
[root@localhost network-scripts]# cat ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=3f69b335-7a25-4985-961f-4ca415e86745
DEVICE=eno16777736
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
[root@localhost network-scripts]# 

显示行号:


# 从后往前显示
[root@localhost network-scripts]# tac ifcfg-lo
NAME=loopback
ONBOOT=yes
BROADCAST=127.255.255.255
# you can change this to something else (255.255.255.255, for example)
# If you're having problems with gated making 127.0.0.0/8 a martian,
NETWORK=127.0.0.0
NETMASK=255.0.0.0
IPADDR=127.0.0.1
DEVICE=lo
#显示行号,便于排查错误,修改错误
[root@localhost network-scripts]# nl ifcfg-lo 1    DEVICE=lo2 IPADDR=127.0.0.13  NETMASK=255.0.0.04 NETWORK=127.0.0.05 # If you're having problems with gated making 127.0.0.0/8 a martian,6  # you can change this to something else (255.255.255.255, for example)7 BROADCAST=127.255.255.2558 ONBOOT=yes9    NAME=loopback
[root@localhost network-scripts]#

ifconfig命令 查看网络配置

Linux链接的概念

硬链接:一个文件,多个指针,删除一个指针,其他链接同样可以访问。相当于同步备份。只有指针都删除掉,才真正删掉源文件。建立硬链接的命令ln 源文件 链接文件,下图中f2是f1的硬链接。

软链接:类似windows下的快捷方式,删除源文件,软连接也访问不了。
建立软连接的命令ln -s 源文件 链接文件,下图中f3就是f1的软连接,类似于windows中的快捷方式。

ln命令:创建链接
touch命令:创建文件
echo命令:输入字符串

[root@localhost Desktop]# cd lishizheng/
[root@localhost lishizheng]# ls
hello.cpp  nihao# 创建文件 f1
[root@localhost lishizheng]# touch f1
[root@localhost lishizheng]# ls
f1  hello.cpp  nihao# 硬链接 f2 指向 f1
[root@localhost lishizheng]# ln f1 f2
[root@localhost lishizheng]# ls
f1  f2  hello.cpp  nihao# 软连接 f3 指向 f1
[root@localhost lishizheng]# ln -s f1 f3
[root@localhost lishizheng]# ls
f1  f2  f3  hello.cpp  nihao
# 输入到f1中字符串
[root@localhost lishizheng]# echo "where am I" >> f1#显示f1的内容
[root@localhost lishizheng]# cat f1
where am I
#显示f2的内容
[root@localhost lishizheng]# cat f2
where am I
# 显示f3的内容
[root@localhost lishizheng]# cat f3
where am I

删掉f1,f2还在可访问,f3已经不可访问

[root@localhost lishizheng]# rm f1
rm: remove regular file ‘f1’? y
[root@localhost lishizheng]# ls
f2  f3  hello.cpp  nihao
[root@localhost lishizheng]# cat f2
where am I
[root@localhost lishizheng]# cat f3
cat: f3: No such file or directory
[root@localhost lishizheng]# 

【Linux入门连载三】Linux常用的基本命令相关推荐

  1. linux+系统优化基础,Linux入门基础(三):Linux用户及权限基础

    用户基础 用户和组 每个用户都拥有一个userid 每个用户都属于一个主组,属于一个或多个附属组 每个组拥有一个groupid 每个进程以一个用户身份运行,受该用户可访问资源限制 每个可登陆用户拥有一 ...

  2. 【Linux】Linux学习(三)常用基本命令(一)

    Linux学习(三)常用基本命令 常用基本命令 帮助命令 文件目录类命令 时间日期类命令 用户管理命令 用户组管理命令 文件权限类 搜索查找类 压缩和解压类 磁盘查看和分区类 进程管理类 学习总结 常 ...

  3. 【Linux】Linux学习(三)常用基本命令(二)

    Linux学习(三)常用基本命令(二) crontab 系统定时任务 crontab 服务管理 crontab 定时任务设置 RPM软件包管理 RPM概述 RPM查询命令 RPM卸载命令 RPM安装命 ...

  4. linux 管道来删除,Linux入门基础(五):Linux管道,重定向,文本处理

    多命令协作:管道及重定向 在Linux中,大多数命令都很简单,每个命令往往只实现一个或几个很简单功能. 我们可以通过将不同功能的命令组合起来一起使用,达到完成某个复杂功能的目的 CLI下几乎所有的命令 ...

  5. linux目录结构来源6,Linux入门基础 #6 Linux系统目录架构

    Linux入门基础 #6 Linux系统目录架构 /bin 即binary,用于保存各种(二进制)可执行文件. 在CLI中输入执行的命令都保存在这里. 此目录下的所有命令都是普通权限用户也可执行的. ...

  6. linux ubuntu 桌面,Ubuntu Linux 入门(三):熟悉 Ubuntu Linux 桌面环境

    Posted on 2011/08/16, 13:53, by Terry Chen, under Linux. 在Ubuntu Linux 入门(二):安装 Ubuntu Linux一文中,我们已经 ...

  7. Linux入门(三)-软件安装

    三.软件安装 计算机没有安装操作系统,就是一坨废铁,不能实现任何功能:如果计算机安装了操作系统,但没有应用软件,也只是中看不中用的花瓶.所以,我们需要学习软件的安装,只有安装了所需的软件,才能实现想要 ...

  8. Linux入门篇01~~Linux的快速入门 (简洁,详细,基础)

    文章目录 1. 入门概述 1.1 我们为什么要学习Linux 1.2 Linux 简介 1.3 Linux 发行版 1.4 Linux 应用领域 1.5 Linux vs Windows 1.6 环境 ...

  9. Linux入门八:Linux的其他文本工具:echo,cat,tail,grep;

    本篇博客主要内容:除了vim这个文本编辑工具,在Linux还有其他其他的文本编辑工具:(这些文本编辑工具,可以简化我们对文本的操作)  说明: (1)本篇博客内容,不要记忆:需要的时候,浏览一下可以: ...

最新文章

  1. 小工程结算书范本_工程结算合同书范本_工程结算合同格式
  2. Spring Boot 中的容器配置
  3. CHM格式的可以全文搜索的Spring3.2官方参考文档
  4. Ansible自动化运维工具介绍
  5. Cisco BFD双向转发检测技术部署案例
  6. 《构建之法》阅读第四章、第十七章收获
  7. 数据结构:二分查找python实现
  8. pdo sqlite_ sqlite2 pdo_mysql_php使用pdo连接sqlite3的配置示例
  9. 如何利用PHP会话显示出当前在线的用户
  10. C#根据身份证获出生日期和性别---含C#代码
  11. 掰一掰GitHub上优秀的大数据项目
  12. Eclipse快捷键_10个最高效的快捷键
  13. Java VM(虚拟机) 参数
  14. python怎么用split字符串全部分开_python实现字符串完美拆分split()的方法
  15. 【Android 逆向】脱壳解决方案 ( DEX 整体加壳 | 函数抽取加壳 | VMP 加壳 | Dex2C 加壳 | Android 应用加固防护级别 )
  16. phpstudy2020安装及简单使用教程
  17. 如何使用视频压缩软件,压缩视频大小 ?
  18. 海外有哪些免费的0元虚拟主机(免费空间或者免费虚拟主机)
  19. MPSOC之8——启动及错误处理
  20. can总线隔离中继器、canbridge-100、CanRepeater的can波特率和滤波设置

热门文章

  1. 从微信公众平台·小程序内测邀请函看应用号动向
  2. kafka log4j配置
  3. Spring MVC 学习 之 - 拦截器
  4. 批处理相对路径51CTO自动领豆(Python)
  5. window mobile 5.0截获来电
  6. linux df 目录大小,Linux命令du df查看文件和文件夹大小
  7. Markdown 语法及常用资料收集--CheatSheet
  8. 【Leetcode | easy】有效的括号
  9. 【Paper】2019_Consensus Control of Multiple AUVs Recovery System Under Switching Topologies and Time D
  10. 【控制】复杂度定义及计算