shell基本命令

linux命令行的组成结构

linux系统命令操作语法格式

命令 空格 参数 空格 文件路径或者需要处理的内容
rm   -rf   /tmp/*
ls   -la   /home
         
         

1.一般情况下,【参数】是可选的,一些情况下【文件路径】也是可选的

2.参数》同一个命令,跟上不同的参数执行不同的功能

执行linux命令,添加参数的目的是让命令更加贴切实际工作的需要

linux命令,参数之间,普遍应该用一个或多个空格分割

创建一个目录

windows下

鼠标右击>新建文件夹

linux下

make directory > mk dir > mkdir

---------------------------------------------

mkdir /xb

---------------------------------------------

# 递归创建 a/b c/d
mkdir -p a/b c/d #递归创建test/a,b,c,d四个目录 mkdir /test/{a,b,c,d} #递归创建文件夹
mkdir -p a/b/c/d

查看目录

ls /xb  #显示/xb下的内容

改变当前目录位置

cd /home  #切换到home目录下
cd ~ #切换到当前用户目录
cd - #切换到上一次工作目录
cd / #切换到根目录

打印当前工作目录

pwd  #打印当前所在工作目录

创建文件或修改文件时间戳(文件属性)

创建文本

修改文件的修改时间

# 修改文件的更改时间。
ls -l
echo "我是谁!" >> xxx.txt
touch -t'07101530' 1.txt # touch 触摸
touch xxx.py

stat命令

# 显示文件或文件系统的状态
# 用法 stat [参数] 文件 参数列表:
-L --dereference 跟随链接
-f --file-system 显示文件系统状态而非文件状态
-c --format=格式 使用指定输出格式代替默认值,没用一次指定格式换一新行
--printf=格式 类似于 --format,但是会解释反斜杠转移符,不适用换行做输出结尾,如果希望使用换行,则可以在格式中假如"\n"
-t --terse 使用简介格式输出 # 格式化输出参数
%a 八进制权限
%A 用可读性较好的方式输出权限 #实例1
[root@master tmp]# stat 1.txt
File: '1.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 17348002 Links: 1
(权限)Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
(最近访问)Access: 2018-07-10 15:30:00.000000000 +0800
(最近更改)Modify: 2018-07-10 15:30:00.000000000 +0800
(最近改动)Change: 2018-11-07 15:38:36.400989868 +0800
Birth: - #实例2,显示文件权限
[root@master tmp]# stat -c %a 1.txt
644
[root@master tmp]# stat -c %A 1.txt
-rw-r--r--

vim

所有的Unix like 系统都会内置vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是vim编辑器

vim 具有程序编辑的能力,可以主动的一字体颜色辨别语法的正确性,方便程序设计

# 方法,命令
vi
vim
使用vi打开xb.py ,默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"我是谁,我在那!" 按下esc键,回到命令模式 输入:wq! 强制保存退出
w write 写入
q quit 退出
! 强制
或者 :x 保存退出 ---------------------------------- :q 不保存退出
:q! 不保存强制退出

查看文件内容

cat命令用于查看纯文本文件(常用于内容较少的)

# 查看文件,显示行号
cat -n xxx.py # 在每行的结尾加上$符
cat -E .txt # 追加文字到文件
cat >>/tmp/xb,txt<< EOF
你要写入的文本
EOF

more命令

more /etc/passwd

按下空格是翻页
按下b是上一页
回车键向下读取内容

linux快捷键

.tab键        用于自动不全命令/文件名/目录名
.ctrl + l 清理终端显示
.clear/cls 清理终端显示
.ctrl + c 终止当前操作

echo命令

echo命令用于在终端输出字符串或者变量提取后的值,格式是“echo【字符串|$变量】”

# 默认把内容显示到终端上
echo "我是谁,我在那!" echo $PATH # 打印系统环境变量PATH的值

特殊符号

输入/输出  重定向符号
. >> 追加重定向
.> 重定向符号,清空原文件所有内容,然后吧文字覆盖到文件末尾
.< 输入重定向
.<< 将输入结果输入重定向 -----------------------------------------------------
echo "我是谁,我在哪!" > /tmp/xb.txt     # 覆盖
echo "我是谁,我在哪!" >> /tmp/xb.txt # 追加
cat >> /tmp/xb.txt << EOF -----------------------------------------------------
#将执行命令的结果写入到文件中
ip a > /tmp/network.txt # 标准输入重定向,把命令执行结果放入到文件中 通配符
ls -l /etc/us*

复制拷贝命令

复制 > copy > cp
# 移动 xxx.txt 到 /tmp目录下
cp xxx.py /tmp/ #移动 xxx.py 顺便改名为 xb.py
cp xxx.py /tmp/xb.py linux下面有很多命令,一般没有办法直接处理文件夹,因此需要加上(参数 )
cp -r 递归,复制目录以及目录的子孙厚底啊
cp -p 复制文件,同时保持文件的属性不变 可以用stat
cp -a 相当于 -pdr
# 递归复制test文件夹,为rest2
cp -r test test2

移动命令

移动(搬家)命令 > move > mv

用法: mv 要移动的文件 目标地址  

mv /home/xb.py    /tmp/ xb1.py

# 文件或文件夹改名
mv xxx.log xx.py

删除命令

删除 > remove > rm
参数 -i 需要删除确认
-f 强制删除
-r 递归删除目录和内容

查找命令

# linux里如何找到需要的文件,例如xb.py

语法 :
find 在哪里【目录】 什么类型【文件类型】叫什么名字【文件名】 参数:
-name 按照文件名查找文件
-type 查找某一类型文件
b - 块设备文件
d - 目录
c - 字符设备文件
p - 管道文件
l - 符号链接文件
f - 普通文件
s -socket文件

管道命令

linux提供的管道命令符"|",将两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入
常见用法:
# 检查python程序是否启动
ps -ef | grep pyhton

grep命令

是一种强大的搜索工具,他能使用正则表达式搜索文本,并把匹配的行打印出来

语法:
grep 【参数】 【--color=auto】【字符串】filename 参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color=auto :给关键词部分添加颜色

head、tail命令

head 显示文件前几行,默认前十行
tail 显示文件后几行,默认后十行 # 查看前两行
head -2 你要查看的文件 #查看后两行
tail -2 你要查看的文件 # 持续刷新显示
tail -f xx.log #显示文件10-30行
head -30 你要显示的文件 | tail -21

别名alias命令

linux在使用入门【删除】,cp【覆盖】,mv【移动】等命令的时候,必须非常小心

Linux如何提示你,在使用这些命令时候,提醒你小心呢?
#查看系统别名
alias
默认别名
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 别名作用是: 我们在linux中使用cp时候相当于执行了cp -i
-i:删除已有文件或目录之前先询问用户; #别名用比较危险的操作,防止你犯错

为rm设置别名

# 让系统显示do not use rm

echo do not use rm
#设置别名
alias rm="echo do not use rm" # 设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量) vim /etc/profile # 编辑文件
G 快速到达最后一行
o 当前行下一行,创建一个新行,进入编辑模式
source /etc/profile #读取文件(合同生效) ----------------------------------------------------
# 取消别名
unalias rm

which 命令

which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令是需要遍历的目录
which指令会在环境变量$PATH设置的目录里查找符合条件的文件
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令 which pwd
which python

scp命令

linux scp 命令用于linux之间复制文件和目录

scp 是 secure copy 的缩写,scp 是路奴性系统下基于ssh登录进行安全的远程文件拷贝命令

语法:
scp 【可选参数】 本地源文件 远程文件标记 参数:
-r : 递归复制整个目录
-v : 详细方式输出
-q : 不显示传输进度条
-c :允许压缩

示例:

#传输本地文件到远程地址
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名 #复制远程文件到本地
scp root@192.168.1.155:/home/xb.txt /tmp/xb.txt
scp -r root@192.168.1.155:/home/xb /home/

du命令

linux du 命令用于显示目录或文件夹的大小

du 会显示指定的目录或文件所占用的磁盘空间

用法:
du 【参数】【文件目录】
-s 显示总计
-h 以k,M,G为单位显示,可读性强

top命令

top命令用于动态的监视进程活动与系统负载等信息

第一行(uptime)
系统时间,主机运行时间,用户连接数(who) 系统1.5.15分钟的平均负载
第二行
进程总数:正在运行的进程数,睡眠的进程数,停止的进程数,僵尸进程数
第三行:cpu信息
1.5 us:用户空间所占CPU百分比
0.9 sy:内核空间占用CPU百分比
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
97.5 id:空闲CPU百分比
0.2 wa:等待输入输出的CPU时间百分比
0.0 hi:硬件CPU中断占用百分比
0.0 si:软中断占用百分比
0.0 st:虚拟机占用百分比
第四行:内存信息(与第五行的信息类似与free命令) 8053444 total:物理内存总量
7779224 used:已使用的内存总量
274220 free:空闲的内存总量(free+used=total)
359212 buffers:用作内核缓存的内存量
第五行:swap信息
8265724 total:交换分区总量
33840 used:已使用的交换分区总量
8231884 free:空闲交换区总量
4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入

chattr命令

给文件枷锁,只能写入数据,无法删除文件

chattr +a test.py  # 给文件枷锁
chattr -a test.py # 将锁是放开

lsattr命令

lsattr test.py #查看文件隐藏属性

linux的时间同步

linux的date命令可以显示当前时间或者设置系统时间

查看当前时间

格式化输出

-d    --date=string    显示指定的时间,而不是当前时间
以年-月-日显示当前时间
date +"%Y-%m-%d"
以年-月-日 时分秒 显示当前时间
date +"%Y-%m-%d %T"
在Linux下系统时间和硬件时间不会自动同步,在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。
硬件时间的运行,是靠Bios电池来运行,而系统时间是用CPU tick来维持的。
在系统开机时候,会从Bios中获取硬件时间,设置为系统时间

硬件始终的查看

[root@oldboy_python ~ 10:19:04]#hwclock
2018年08月27日 星期一 10时23分03秒 -0.528004 秒

同步系统时间和硬件时间,可以用hwclock命令

//以系统时间为基准,修改硬件时间
[root@oldboy_python ~ 10:29:07]#hwclock -w //以硬件时间为基准,修改系统时间
[root@oldboy_python ~ 10:29:21]#hwclock -s

ntp时间服务

时间对于人类来说是密不可少的,时间就是金钱。因此对于服务器时间的把控非常重要,如果系统的时间不对,那么对于每一个文件的操作都是错误的。

关于时间服务器的配置文件,有如下几种

/bin/date     用于 Linux 时间 (软件时钟) 的修改与显示的指令;
/sbin/hwclock  用于 BIOS 时钟 (硬件时钟) 的修改与显示的指令。 这是一个 root 才能执行的指令,因为 Linux 系统上面 BIOS 时间与 Linux 系统时间是分开的,所以使用 date 这个指令调整了时间之后,还需要使用 hwclock 才能将修改过后的时间写入 BIOS 当中!
/usr/sbin/ntpd: 主要提供 NTP 服务的程序啰!配置文件为 /etc/ntp.conf
/usr/sbin/ntpdate: 用于客户端的时间校正,如果你没有要启用 NTP 而仅想要使用 NTP Client 功能的话,那么只会用到这个指令而已啦!

由于我们只需要用作客户端更新时间

ntpdate -u ntp.aliyun.com

wget命令

wget命令用于在终端下载网络文件
参数是 wget [参数] 下载地址
wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中

开关机命令

reboot #重启机器
poweroff #关闭系统

  

Centos7基本命令的更多相关文章

  1. RHCE7 学习里程-3基本命令

    一.centos7  基本命令 #创建文件 touch a.b #创建文件夹 mkdir abc #删除文件 rm -f a.b #删除空文件夹 rm -rf abc #重命名文件 mv 源文件 新文 ...

  2. centos6和centos7的防火墙基本命令

    一.centos6: 1.firewall的基本启动/停止/重启命令 $查看防火墙状态: service iptables status (/etc/init.d/iptables status) $ ...

  3. CentOS7使用firewalld的基本命令

    转自:https://www.cnblogs.com/moxiaoan/p/5683743.html.Thanks for  莫小安   1.firewalld的基本使用 启动: systemctl ...

  4. centos7 新手基本命令

    1. yum update 安装系统后,更新yum到最新版本 提示错误 :cannot find a valid baseurl for repo: base/7/x86_64 解决:修改/etc/s ...

  5. 【Linux笔记(002) 】-- centos7 文档操作基本命令

    一.cd -- ChangeDirectory a) 切换到 /DemoLM/ 文件夹 b) 回到用户 Home 根目录:是哪个账户登录的就会进入哪个用户的根目录 二.pwd -- PrintWork ...

  6. Linux(CentOS-7) 下载 解压 安装 redis 操作的一些基本命令

    使用xshell 连接到虚拟机,并且创建 一个redis目录:创建文件命令:mkdir 文件名ls:查看当前文件里面的所有文件 使用xftp 将下载的linux版本 reids上传动新建的redis目 ...

  7. RHEL7 CentOS7 检查查看精简指令

    RHEL7 CentOS7 检查查看精简指令: //////////////////////////检查查看精简指令://///////////////////////////// ///////// ...

  8. CentOS7下使用YUM安装mariadb10

    1:由于centos7 默认使用yum安装MySQL的话就会安装mariadb,只是安装的版本停留在mariadb5.x,版本比较低.如果我们需要安装mariadb10这里就需要删除mariadb-l ...

  9. Centos7搭建hadoop完全分布式

    虽然说是完全分布式,但三个节点也都是在一台机器上.拿来练手也只能这样咯,将就下.效果是一样滴.这个我自己都忘了步骤,一起来回顾下吧. 必备知识: Linux基本命令 vim基本命令 准备软件: VMw ...

随机推荐

  1. 基于python、jupyter-notebook 的金融领域用户交易行为分析

    说明:本文重在说明交易数据统计.分析方法,所有数据均为生成的数据 时间原因代码未定义成函数 统计指标:1.用户单日交易行为数据 2.按小时为计算单位,统计用户行为数据(旨在求得一天24小时中每个小时的 ...

  2. Git--删除远程仓库文件但不删除本地仓库资源

    我们在使用idea开发的过程中经常会出现新建项目的时候直接把xxx.iml文件也添加到了git trace 当然这并不会出现什么问题,问题是当我们把xxx.iml文件push到我们github上之后, ...

  3. Wikioi 3776 生活大爆炸版石头剪子布

    题目描述 Description 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏 ...

  4. H - Parity game 并查集

    Now and then you play the following game with your friend. Your friend writes down a sequence consis ...

  5. 13、Java并发性和多线程-Java Volatile关键字

    以下内容转自http://tutorials.jenkov.com/java-concurrency/volatile.html(使用谷歌翻译): Java volatile关键字用于将Java变量标 ...

  6. OpenJudge百炼习题解答(C++)--题2704:竞赛评分

    题: 总时间限制:  1000ms  内存限制:  65536kB 描写叙述 现举行一次小竞赛,參赛的3支队伍,编号为1,2,3.每支队列轮流回答问题,假设回答正确,加10分;回答错误,扣10分;放弃 ...

  7. 扩展VirtualBox中的centos硬盘大小

    一.克隆文件 我之前安装的时候建的是centos 6.3.可是后来空间不够,没办法,又不想重装centos.由于好多东西要配置,特麻烦,所以先想到了使用resize命令,可是在win8中运行D:\Pr ...

  8. android传感器;摇一摇抽签功能

    package com.kane.sensortest; import java.util.Random; import android.hardware.Sensor; import android ...

  9. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

  10. 适合国内网速的CDH5安装

    0.集群规划 说明:因为CDH能够方便的动态加入删除主机,动态改变主机上的服务,所以后面再对各机器上跑得服务进行分配. 共三台机器 操作系统: centos6.5 机器名:work01.work02. ...