Linux的简单介绍和基础命令(上)

一、Linux简要介绍

  1. Linux命令基础

  2. Linux命令帮助
  3. 目录与文件基本操作

Linux家族

  1. Redhat 红帽 三个认证 (开源但是不免费)---》社区(系统开发者)---》Centos(服务器端)
  2. Ubuntu 最好的客户端系统,开源纯免费(软件开发人群)
  3. Debian ---》kali Linux(专用工具资源占用很少) 树莓派
  4. suse Linux---》ISP(电信,移动,联通) 定制版

shell——Linux系统的一种特殊程序——“翻译官”

用户登录Linux系统时就自动加载一个shell程序,Bash是Linux系统中默认使用的shell程序

Linux的内核是由C语言开发出来的(面向过程的语言),应用程序是用c++开发

编译器—— gcc gcc-c++ jdk(Java的编译器)Python的编译器就是Python2/3

源码文件———》(编译器)——》执行文件

Linux命令的分类

  1. 内部命令
  2. 外部命令

通用的命令行使用格式:

命令字 [选项] [参数] (对应于操作、功能、操作对象)

  1. -单个字符的组合
  2. -- 单词

对[email protected] ~]# 的介绍

  1. root ——当前用户
  2. @ ——分隔符
  3. localhost ——主机名字
  4. ~ ——当前目录位置
  5. #——管理员
  6. $ ——普通用户

路径简介

绝对路径:例如——/etc/sysconfig/network-scripts/

相对路径(以当前所在位置的路径):例如——sysconfig/

家目录:管理员(/root) 普通用户(/home)

根目录: /

二、Linux命令集(结合实例)

cd:切换工作目录

pwd:查看当前所在的绝对目录路径

[[email protected] ~]# cd /etc/sysconfig/network-scripts/  //进入绝对路径下的文件夹
[[email protected] network-scripts]# pwd      //显示当前所在的目录的绝对路径
/etc/sysconfig/network-scripts
[[email protected] network-scripts]# cd - //返回上次进入的目录命令,即cd /etc/sysconfig/network-scripts/
/root
[[email protected] ~]# cd -
/etc/sysconfig/network-scripts
[[email protected] network-scripts]# cd ..    //返回上层目录
[[email protected] sysconfig]# cd ../../    //返回上两层目录
[[email protected] /]#

ls:显示当前目录的内容

  1. -l 显示文件详细信息
  2. -a 查看隐藏文件
  3. -A 查看除了. .. 的隐藏文件
  4. -d 显示本目录的信息
  5. -h 友好形式显示带有单位的信息
  6. -R 递归显示
  7. -- color 以颜色区分文件类型
    1. 黑色(数据文件)
    2. 蓝色(目录)
    3. 红色(压缩包)
    4. 绿色(执行文件/命令文件/脚本)
    5. 天蓝色(链接文件)
    6. 黄的(设备文件/磁盘文件)
[[email protected] ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  note  shell  公共  模板  视频  图片  文档  下载  音乐  桌面
[[email protected] ~]# cd shell/
[[email protected] shell]# ls
1.sh  2.sh  3.sh  4.sh  5.sh  6.sh  hello
[[email protected] shell]# ls -a
.  ..  1.sh  2.sh  3.sh  4.sh  5.sh  6.sh  hello
[[email protected] shell]# ls -A
1.sh  2.sh  3.sh  4.sh  5.sh  6.sh  hello
[[email protected] shell]# ls -l
总用量 24
-rwxr-xr-x. 1 root root 111 10月 25 19:10 1.sh
-rwxr-xr-x. 1 root root 124 10月 25 19:12 2.sh
-rwxr-xr-x. 1 root root 192 10月 25 19:25 3.sh
-rwxr-xr-x. 1 root root 104 10月 25 19:33 4.sh
-rwxr-xr-x. 1 root root 147 10月 25 19:36 5.sh
-rwxr-xr-x. 1 root root  26 10月 25 19:37 6.sh
drwxr-xr-x. 2 root root  18 10月 30 13:53 hello
[[email protected] shell]# ls -R
.:
1.sh  2.sh  3.sh  4.sh  5.sh  6.sh  hello

./hello:
0.sh
[[email protected] shell]# ls -d
.
[[email protected] shell]# ls -ah
.  ..  1.sh  2.sh  3.sh  4.sh  5.sh  6.sh  hello

[[email protected] shell]# ls -lR
.:
总用量 24
-rwxr-xr-x. 1 root root 111 10月 25 19:10 1.sh
-rwxr-xr-x. 1 root root 124 10月 25 19:12 2.sh
-rwxr-xr-x. 1 root root 192 10月 25 19:25 3.sh
-rwxr-xr-x. 1 root root 104 10月 25 19:33 4.sh
-rwxr-xr-x. 1 root root 147 10月 25 19:36 5.sh
-rwxr-xr-x. 1 root root  26 10月 25 19:37 6.sh
drwxr-xr-x. 2 root root  18 10月 30 13:53 hello

./hello:
总用量 0
-rwxrwxrwx. 1 root root 0 10月 30 13:53 0.sh
[[email protected] shell]#

alias:给命令取一个别名

du:统计目录及文件空间占用情况

  1. -a
  2. -h 友好显示
  3. -s

which: 查找命令存放目录

  1. 搜索范围由环境变量PATH决定

mkdir:创建目录

  1. -p递归嵌套创建

touch:创建文件

[[email protected] shell]# alias c=‘clear‘   //clear是表示清屏相当于Ctrl+l的操作
[[email protected] shell]# which c
alias c=‘clear‘
    /usr/bin/clear
[[email protected] shell]# which clear
/usr/bin/clear
[[email protected] shell]# mkdir linux
[[email protected] shell]# ls
1.sh  2.sh  3.sh  4.sh  5.sh  6.sh  hello  linux
[[email protected] shell]# touch 0.sh
[[email protected] shell]# ls
0.sh  1.sh  2.sh  3.sh  4.sh  5.sh  6.sh  hello  linux
[[email protected] shell]# du -ah
4.0K    ./1.sh
4.0K    ./2.sh
4.0K    ./3.sh
4.0K    ./4.sh
4.0K    ./5.sh
4.0K    ./6.sh
0   ./hello/0.sh
0   ./hello
0   ./linux
0   ./0.sh
24K .
[[email protected] shell]# du -sh
24K .
[[email protected] shell]# du -as             //不可以设置选项为-as(h)
du: 不能既显示总用量,同时又显示每个项目
Try ‘du --help‘ for more information.
[[email protected] shell]#
[[email protected] shell]# mkdir -p  /2019/2018/2017   //连续创建文件夹
[[email protected] shell]# cd /2019/2018/2017/
[[email protected] 2017]# touch {1..10}.txt  //..表示创建连续10个名为1-10的txt文件
[[email protected] 2017]# ls
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

下面的操作过程中会出现文件节点(inode值):文件在磁盘中存储的标识序列
ln:创建链接文件(类似于Windows系统的快捷方式)

  1. 软链接:相当于快捷方式 -s
  2. 硬链接:给文件取别名(无法创建硬链接文件夹)
[[email protected] shell]# ln -s 1.sh 8.sh
[[email protected] shell]# ln 1.sh 10.sh
[[email protected] shell]# ls -l
总用量 28
-rwxrwxrwx. 1 root root   0 10月 30 13:59 0.sh
-rwxr-xr-x. 2 root root 111 10月 25 19:10 10.sh  //硬链接
-rwxr-xr-x. 2 root root 111 10月 25 19:10 1.sh
-rwxr-xr-x. 1 root root 124 10月 25 19:12 2.sh
-rwxr-xr-x. 1 root root 192 10月 25 19:25 3.sh
-rwxr-xr-x. 1 root root 104 10月 25 19:33 4.sh
-rwxr-xr-x. 1 root root 147 10月 25 19:36 5.sh
-rwxr-xr-x. 1 root root  26 10月 25 19:37 6.sh
lrwxrwxrwx. 1 root root   4 10月 30 14:07 8.sh -> 1.sh  //软链接
drwxr-xr-x. 2 root root  18 10月 30 13:53 hello
drwxr-xr-x. 2 root root   6 10月 30 13:59 linux
[[email protected] shell]# ls -ih   //显示文件节点值的大小
19397655 0.sh  20564913 10.sh  20564913 1.sh  20564915 2.sh  20564917 3.sh  20564916 4.sh  20564918 5.sh  20564919 6.sh  19134334 8.sh  20565286 hello  35183604 linux
//上面文件左边的就是该文件的文件节点(inode值)软链接与源文件的文件节点是非一致的,而硬链接的文件节点与源文件是一致的

cp :复制文件或目录 源|目标

  1. -f 不询问
  2. -i 询问是否覆盖原有
  3. -p 保持源文件的用户权限不变,权限高用户使用
  4. -r 递归复制

rm:删除

  1. -i:默认提醒
  2. -rf :强制递归删除

mv:移动文件或目录

[[email protected] shell]# cd hello/
[[email protected] hello]# ls
0.sh
[[email protected] hello]# cp ../5.sh .
[[email protected] hello]# ls
0.sh  5.sh
[[email protected] hello]# cp -i ../5.sh .
cp:是否覆盖"./5.sh"? yes
[[email protected] hello]# cp -f ../5.sh .    //猜测被alias了
cp:是否覆盖"./5.sh"? y
[[email protected] hello]#
[[email protected] hello]# which cp     //查看cp命令果然是被alias更改了
alias cp=‘cp -i‘
    /usr/bin/cp
[[email protected] hello]# cp -r ../linux/ .   //递归复制上层路径linux文件夹的所有内容到当前路径(目前无内容)
[[email protected] hello]# ls
0.sh  5.sh  linux
[[email protected] hello]# cd linux/
[[email protected] linux]# ls
[[email protected] linux]# mkdir 2020         //创建文件夹
[[email protected] linux]# ls
2020
[[email protected] linux]# cd 2020/
[[email protected] 2020]# touch 2.txt         //创建文件
[[email protected] 2020]# cd ../../
[[email protected] hello]# ls
0.sh  5.sh  linux
[[email protected] hello]# mv linux/ ../          //移动文件夹
mv:是否覆盖"../linux"? y
[[email protected] hello]# cd ..
[[email protected] shell]# ls
0.sh  10.sh  1.sh  2.sh  3.sh  4.sh  5.sh  6.sh  8.sh  hello  linux
[[email protected] shell]# ls -l linux/
总用量 0
drwxr-xr-x. 2 root root 19 10月 30 14:15 2020
[[email protected] shell]# cp -r linux/  hello/   //递归复制linux文件夹的所有内容到hello文件夹中
[[email protected] shell]# cd hello/
[[email protected] hello]# ls
0.sh  5.sh  linux
[[email protected] hello]# ls -l linux/
总用量 0
drwxr-xr-x. 2 root root 19 10月 30 14:16 2020
[[email protected] hello]# ls -lR linux/          //递归查看拷贝过来的文件夹的信息
linux/:
总用量 0
drwxr-xr-x. 2 root root 19 10月 30 14:16 2020

linux/2020:
总用量 0
-rw-r--r--. 1 root root 0 10月 30 14:16 2.txt

通配符

  1. ?表示一个
  2. *表示多个

find:查找文件或目录

? find 【查找范围】【选项】[表达式]

  1. -name:根据目标名字查找
  2. -type:根据文件类型查找
  3. -size:根据大小查找
  4. -user:根据文件的用户所有者查找
[[email protected] hello]# find . -name "*.sh"  //*号表示通配符
./0.sh
./5.sh
[[email protected] hello]# find . -type f
./0.sh
./5.sh
./linux/2020/2.txt
[[email protected] hello]# find . -size -10k
.
./0.sh
./5.sh
./linux
./linux/2020
./linux/2020/2.txt
./ifcfg-ens33
[[email protected] hello]# find . -size -10k | du -ah
0   ./0.sh
4.0K    ./5.sh
0   ./linux/2020/2.txt
0   ./linux/2020
0   ./linux
4.0K    ./ifcfg-ens33
8.0K    .

centos7系统启动的命令清单

1. init 0 关机
2. init 1 单用户模式(系统维护,破解密码)
3. init 2 多用户模式无网络
4. init 3 多用户模式有网络  *
5. init 4 保留
6. init 5多用户模式图形化界面有网络
7. init 6 重启 (reboot)

下篇链接:https://blog.51cto.com/14557673/2446516

原文地址:https://blog.51cto.com/14557673/2446511

时间: 2024-12-28 09:17:38

Linux的简单介绍和基础命令(上)的相关文章

Linux的简单介绍和基础命令(下)

三.Linux的目录结构 树形目录结构 /etc 管理员的家目录 /home 普通用户家目录 /bin 所有用户的命令文件目录 /sbin 管理员命令文件目录 /boot 启动分区(grub启动菜单,压缩内核等) /usr 应用程序目录 /etc 配置文件目录 /var 可变长文件目录(日志) /dev 设备文件目录(磁盘,光驱) /tmp 临时文件 /proc 硬件信息(CPU 内存) /lib 服务管理文件(systemctl) 查看文件内容命令 cat [] 文件名 ... :查看文件内容

Linux的简单介绍和常用命令的介绍

Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html 自行安装 Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安装步骤,找百度. 再安装Ubuntu.具体安装步骤,找百度 常用指令 ls      

简单介绍一下在CentOS上安装Docker。

简单介绍一下在CentOS上安装Docker. 前置条件: 64-bit 系统 kernel 3.10+ 1.检查内核版本,返回的值大于3.10即可. $ uname -r 2.使用 sudo 或 root 权限的用户登入终端. 3.确保yum是最新的 $ yum update 4.添加 yum 仓库 运行 $ tee /etc/yum.repos.d/docker.repo <<-'EOF'[dockerrepo]name=Docker Repositorybaseurl=https://y

Docker介绍及基础命令

什么是Docker? Docker 是一种容器技术,它不依赖任何语言.框架或系统,可以将应用变成一种标准化的.可移植的.自管理的组件,并脱离硬件平台在任何主流系统中开发.调试和运行.docker是一个基于LXC容器技术又对其进行优化升级扩展的管理工具,提供一系列更强的功能,如可移植性.自动化构建(dockerfile).版本控制.镜像管理等. Docker是一个重新定义了程序开发测试.交付和部署过程的开放平台,Docker则可以称为构建一次,到处运行,这就是docker提出的"Build onc

TensorFlow简单介绍和在centos上的安装

##tensorflow简单介绍: TensorFlow? is an open source software library for numerical computation using data flow graphs.https://www.tensorflow.org/TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图

ActiveMQ基础教程----简单介绍与基础使用

概述 ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能. 特性 遵循JMS规范:ActiveMQ的各种特性是JMS1.1规范的实现.它们包括同步和异步消息传递,一次和只有一次的消息传递,对于预订者的持久消息等等.依附于JMS规范意味着,不论JMS消息提供者是谁,同样的基本特

展示C代码覆盖率的gcovr工具简单介绍及相关命令使用演示样例

(本人正在參加2015博客之星评选,诚邀你来投票,谢谢:username=zhouzxi">http://vote.blog.csdn.net/blogstar2015/candidate?username=zhouzxi) 近期,由于要展示某项目的单元測试的代码覆盖率.我无意间在网上找到了gcovr工具.使用之后,认为这个工具相当的不错,于是便写下这篇文章,可供相关的开发者參考. 简而言之,gcovr是一个将单元測试中的代码覆盖率以多种方式(包含列表方式.XML文件方式.HTML网页方式

RAID技术简单介绍和常用命令总结

RAID技术介绍和总结 一.RAID技术简介 1987年,加利福利亚伯克利分校的Patterson.Gibson和Katz这三位工程师发表了一篇:"A Case for Redundant Arrays of Inexpensive Disks"的论文.其目的是将多块容量较小,相对廉价的硬盘驱动器进行组合,使其性能相当于一只昂贵的大硬盘.在当时,这种技术叫做廉价磁盘冗余阵列.许多工业级别的生产者发现了商机,纷纷去实现这种应用.但是,当他们实现以后却发现要真正让这种设备发挥很好的性能,这

Linux的简单介绍.

Linux操作系统概述: Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linux Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了成千上百种不同的Linux系统. Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机,平板电脑,路由器等.尤其在这里提及一下,我们熟知的Android程序最底层就是运行在Linux系统上的. Lin