Linux系统入门-BashShell 是一种命令行解释器, 其读取用户输入的字符串命令, 解释并且执行命令;它是一种特殊的应用程序, 介于系统调用/库与应用程序之间, 其提供了运行其他程序的的接口;它可以是交互式的, 即读取用户输入的字符串;也可以是非交互式的, 即读取脚本文件并解释执行, 直至文件结束. 无论是在类 UNIX, Linux 系统, 还是 Windows, 有很多不同种类的 Shell: 如类 UNIX, Linux 系统上的 Bash, Zsh 等; Windows 系统上的 cmd, PowerShell 等.
Bash 是 Bourne Again SHell 的缩写, 是 GNU 计划中的 Shell, 也是一些类 UNIX 系统与多数 Linux 发行版的默认 Shell
使用Shell可以实现对Linux系统实现绝大部分的管理,例如:
#获取当前时间
[root@CentOS7 ~]# date
Mon Mar 15 22:59:47 CST 2021
#创建文件
[root@CentOS7 opt]# touch xcz
[root@CentOS7 opt]# ll
-rw-r--r--. 1 root root 0 Mar 15 23:01 xcz
#创建一百个文件,我们一般就会使用shell script进行创建
[root@CentOS7 opt]# cat touch.sh
#!/bin/bash
for n in `seq 100`;do
touch xcz$n
echo "文件xcz$n创建成功哦!"
done
[root@CentOS7 opt]# sh touch.sh
命令行输入方式:效率较低,适用于工作量不大的工作;
shell script 脚本方式:效率高 , 适用于工作量大且复杂的工作 。
[root@CentOS7 opt]# bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3 : GNU GPL version 3 or later
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
'#39; = 普通用户
'#' = root用户(超级管理员)
#查看当前用户
[root@CentOS7 ~]# whoami
root
#查看当前命令提示符
[root@CentOS7 ~]# echo $PS1
[u@h W]$
root:当前系统的用户
CentOS7:当前系统的主机名
~:当前所在的位置
#:超级管理员身份(root用户)
$:普通用户
提示符参数及含义
d :代表日期;
H :完整的主机名称
h :仅取主机名中的第一个名字
:显示时间为24小时格式,如:HH:MM:SS
T :显示时间为12小时格式
A :显示时间为24小时格式:HH:MM
u :当前用户的账号名称
v :BASH的版本信息
w :完整的工作目录名称
W :利用basename取得工作目录名称,只显示最后一个目录名
# :下达的第几个命令
$ :提示字符,如果是root用户 , 提示符为 "#" , 普通用户则为 "#34;
#颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
PS1='[e[32;40m] [[u@h w]$ [e[0m]'
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@h [e[36;40m]w[e[0m]]$ "
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@[e[35;40m]h[e[0m] [e[36;40m]w[e[0m]]$ "
#提示符的应用
[root@CentOS7 ~]# vi .bashrc
#最后一行下面添加
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@[e[35;40m]h[e[0m] [e[36;40m]w[e[0m]]$ "
#使用source生效
[root@CentOS7 ~]# source .bashrc
【Linux7命令不能补全 linux的命令补齐有何作用】 #命令 选项 参数
command [-options] [arguments]
[root@CentOS7 ~]# ls -l /opt/
#命令:整条shell命令的主体
#选项:用于调节命令的具体功能
#以'-'引导段个事选项(单个字符) , 例如”-l“
#以'--'引导长格式选项(多个字符),例如”--list“
#多个短格式选项可以卸载一起,只用一个”-“引导,例如”-la“
#参数:命令操作与偶的对象,如文件、目录名等
#命令必须开头,选项和参数位置可以发生变化
我们在使用Linux系统进行查找一个多层级的文件时,我们可以使用键盘上的Tab键进行快速补全
补全的形式有:
#如果我们忘记网络配置文件具体路径,那么我们就可以使用补全的形式进行配置
[root@CentOS7 ~]# vi /etc/sysconfig/
anaconda cpupower grub irqbalance modules/ rdisc selinux
authconfig crond init kdump netconsole readonly-root sshd
cbq/ ebtables-config ip6tables-config kernel network rsyslog wpa_supplicant
console/ firewalld iptables-config man-db network-scripts/ run-parts
[root@CentOS7 ~]# vi /etc/sysconfig/network
network network-scripts/
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/if
ifcfg-ens33 ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team
ifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort
ifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel
ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plusb ifup-sit ifup-wireless
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-
ifcfg-ens33 ifcfg-lo
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
#如果你的Linux系统无法进行补全 , 那么咱们可以安装一个扩展包即可
[root@CentOS7 ~]# yum install -y bash-completion
clear #或者用快捷键 ctrll
ctrl c #有些程序也可以用q键退出
ctrl z # 进程会挂起到后台
bg jobid # 让进程在后台继续执行
fg jobid # 让进程回到前台
Ctrl键 a #将当前光标移动到命令行的行首
Ctrl键 e #将当前光标移动到命令行的行尾
Ctrl键 u #将当前光标之前的所有字符剪切
Ctrl键 k #将当前光标之后的所有字符剪切
Ctrl键 w #将当前光标之前的字符剪切 , 以空格为结尾
Ctrl键 d #退出当前会话窗口
Ctrl键 z #将当前前台运行的程序,放到后台运行
Ctrl键 r #搜索 历史 命令
Ctrl键 y #粘贴剪切板上的内容
Ctrl键 左右方向键 #向指定的方向键移动一组字符,以空格为分隔符
ESC键 . #使用上一条命令的最后的参数或者路径,以空格为分隔符,空格之后的内容,delete键 从前往后删除一个字符
!命令 #执行最近的一次以该命令为开头的命令
!! #执行上一条命令
#使用格式:
[命令][--help] 或者[man][命令] 即可
#例如touch命令帮助
[root@CentOS7 ~]# touch --help
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h
is supplied.
A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
Mandatory arguments to long options are mandatory for short options too.
-a change only the access time
-c, --no-create do not create any files
-d, --date=STRING parse STRING and use it instead of current time
-f (ignored)
-h, --no-dereference affect each symbolic link instead of any referenced
file (useful only on systems that can change the
timestamps of a symlink)
-m change only the modification time
-r, --reference=FILE use this file's times instead of current time
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
--time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
--help display this help and exit
--version output version information and exit
Note that the -d and -t options accept different time-date formats.
GNU coreutils online help:
For complete documentation, run: info coreutils 'touch invocation'
如何在基于AlmaLinux/RHEL的操作系统中启用bash补全从Debian发行版切换到AlmaLinux后 , 我发现当我按TAB键获取下一个可用建议时,bash补全不起作用 。
我非常习惯bash补全功能,因为它使我的工作非常容易 。您能告诉我在我的AlmaLinux机器上打开这个功能的步骤吗?
当然 , 我将指导您如何在所有基于rhel的发行版(如AlmaLinux、Rocky Linux、CentOS Stream、Fedora和其他主要的基于rhel的发行版)中启用bash补全特性 。
在基于AlmaLinux/RHEL的操作系统中启用Bash补全功能的步骤
Bash补全特性在基于Ubuntu/ debian的发行版中是默认启用的,这就是为什么我们在尝试基于rhel的操作系统之前从不关心这个特性的原因 。
有些用户可能更喜欢说“TAB补全”,因为您需要按TAB键来根据您的readline提示下一行 。
打开终端窗口 , 将以下代码粘贴到AlmaLinux或Rocky Linux终端窗口中 。同样的命令也适用于Fedora 。
在安装之前,它会要求您确认,所以只需按Y 。
但是,如果你遵循这个指南的CentOS 7,那么你需要复制-粘贴下面的代码到你的终端窗口:
完成上述方法后 , 您需要注销当前会话,然后,您可以登录到您的机器上测试bash完成特性 。
最后,我可以在AlmaLinux中使用bash完成方法 。
linux有哪些基本命令 5个基本linux命令1、显示日期的指令: date
2、显示日历的指令:cal
3、简单好用的计算器:bc
怎么10/100会变成0呢?这是因为bc预设仅输出整数,如果要输出小数点下位数,那么就必须要执行 scale=number,那个number就是小数点位数,例如:
4、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
[Tab]按键---具有『命令补全』不『档案补齐』的功能
[Ctrl]-c按键---让当前的程序『停掉』
[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外 , 他也可以用来取代exit
5、man
退出用q,
man -f man
6、数据同步写入磁盘: sync
输入sync,那举在内存中尚未被更新的数据,就会被写入硬盘中;所以,这个挃令在系统关机戒重新启劢乀前, 径重要喔!最好多执行几次!
7、惯用的关机指令:shutdown
此外 , 需要注意的是,时间参数请务必加入指令中,否则shutdown会自动跳到 run-level 1 (就是单人维护的登入情况),这样就伤脑筋了!底下提供几个时间参数的例子吧:
重启,关机: reboot, halt,poweroff
8、切换执行等级: init
Linux共有七种执行等级:
--run level 0 :关机
--run level 3 :纯文本模式
--run level 5 :含有图形接口模式
--run level 6 :重新启动
使用init这个指令来切换各模式:
如果你想要关机的话,除了上述的shutdown -h now以及poweroff之外,你也可以使用如下的指令来关机:
9、改变文件的所属群组:chgrp
10、改变文件拥有者:chown
他还可以顸便直接修改群组的名称
11、改变文件的权限:chmod
权限的设定方法有两种,分别可以使用数字或者是符号来进行权限的变更 。
--数字类型改变档案权限:
--符号类型改变档案权限:
12、查看版本信息等
13、变换目录:cd
14、显示当前所在目录:pwd
15、建立新目录:mkdir
不建议常用-p这个选项,因为担心如果你打错字 , 那么目录名称就回变得乱七八糟的
16、删除『空』的目录:rmdir
17、档案与目录的显示:ls
18、复制档案或目录:cp
19、移除档案或目录:rm
20、移动档案与目录,或更名:mv
21、取得路径的文件名与目录名:basename,dirname
22、由第一行开始显示档案内容:cat
23、从最后一行开始显示:tac(可以看出 tac 是 cat 的倒着写)
24、显示的时候 , 顺道输出行号:nl
25、一页一页的显示档案内容:more
26、与 more 类似,但是比 more 更好的是,他可以往前翻页:less
27、只看头几行:head
28、只看尾几行:tail
29、以二进制的放置读取档案内容:od
30、修改档案时间或新建档案:touch
31、档案预设权限:umask
32、配置文件档案隐藏属性:chattr
33、显示档案隐藏属性:lsattr
34、观察文件类型:file
35、寻找【执行挡】:which
36、寻找特定档案:whereis
37、寻找特定档案:locate
38、寻找特定档案:find
39、压缩文件和读取压缩文件:gzip , zcat
40、压缩文件和读取压缩文件:bzip2 , bzcat
41、压缩文件和读取压缩文件:tar
ps:IP.GZIP.TAR有啥区别?那个压缩的程度大?
tar是打包 , 不是压缩,只是把一堆文件打成一个文件而已GZIP用在HTTP协议上是一种用来改进WEB应用程序性能的技术,将网页内容压缩后再传输 。
zip就不用说了,主流的压缩格式 。
zip最新的压缩算法还是很好的,建议还是用zip格式化,全平台通用 。
tar没有怎样压缩,压缩率100%,主要是永远打包,
zip压缩率看文件类型,jpg就没怎么压缩率,但bmp很高
gzip一般比zip高
复制代码
zip
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下
zip 命令:
# zip test.zip test.txt
它会将 test.txt 文件压缩为 test.zip ,当然也可以指定压缩包的目录 , 例如 /root/test.zip
# unzip test.zip
它会默认将文件解压到当前目录,如果要解压到指定目录 , 可以加上 -d 选项
# unzip test.zip -d /root/
python os模块不会自动补全是什么原因?原因是目录问题,因为软件没在python的project目录下,比如你自己新建了一个目录 。
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990 年代初设计,作为一门叫做ABC语言的替代品 。
Python使用与C、Java类似的运算符,支持整数与浮点数的数学运算 。同时还支持复数运算与无穷位数(实际受限于计算机的能力)的整数运算 。
除了求绝对值函数abs()外,大多数数学函数处于math和cmath模块内 。前者用于实数运算,而后者用于复数运算 。
发展历史:
1995 年,Guido van Rossum 在弗吉尼亚州的国家创新研究公司(CNRI)继续他在 Python 上的工作,并在那里发布了该软件的多个版本 。
2000 年五月,Guido van Rossum和 Python 核心开发团队转到 BeOpen.com 并组建了 BeOpen PythonLabs 团队 。
同年十月 , BeOpen PythonLabs 团队转到 Digital Creations (现为 Zope Corporation) 。
2001 年,Python 软件基金会 (PSF) 成立,这是一个专为拥有 Python 相关知识产权而创建的非盈利组织 。Zope Corporation 现在是 PSF 的赞助成员 。
linux命令*************基本
Shell命令
的使用******
1、在/home目录中创建两个文件夹,分别命名为dir1和dir2,在dir1下创建子目录d1,在dir1下创建子目录d2,分别对目录进行移动和删除的操作 。
(1)在终端提示符下输入命令“mkdir
/home/dir1”,在home下创建dir1目录 。输入命令“ls
/home”,可以看到dir1创建成功 。
(2)在终端提示符下输入命令“mkdir
/home/dir1/d1”,在dir1下创建子目录d1 。输入命令“ls
/home/dir1”,可以看到d1创建成功 。
(3)在终端提示符下输入命令“mkdir
–p
/home/dir2/d2”,在home下创建子目录dir2,同时在dir2下创建子目录d2 。输入命令“ls/home”,可以看到dir2创建成功 。
(4)输入命令“cd
/home/dir2”,将工作路径转至/home/dir2 。输入命令“ls”,可以看到d2创建成功 。
(5)输入命令“cd
..”,将工作路径转至/home 。
(6)输入命令“pwd” , 显示当前工作路径为“/home” 。
(7)输入命令“cd”,将工作路径转至用户主目录 。
(8)输入命令“mv
/home/dir1/d1
/home/dir2”,将d1文件夹移动到dir2中 。输入命令“ls/home/dir2”和“ls/home/dirl”,可以看到移动成功 。
(9)输入命令“rmdir
/home/dir2/dl”,删除dl文件夹 。输入命令“ls/home/dir2” , 可以看到删除d1成功 。
(10)输入命令“rmdir
–p
/home/dir2/d2”,删除dir2和d2文件夹 。输入命令“ls
/home”,可以看到删除dir2成功 。
2、在/home目录中创建一个名为f1的文件 , 对其进行复制、移动和删除等基本操作 。
(1)在终端提示符下输入命令“cd
/home”,将当前的工作路径转换为/home 。
(2)在终端提示符下输入命令“cat
f1”,之后输入f1的文本内容“this
is
f1”,按下Ctrl D快捷键结束输入 。输入命令“ls”可以看到f1创建成功 。
(3)在终端提示符下输入命令“cp
f1
dir1”,将f1复制到文件夹dir1中,输入命令“ls
/home/dir1”,可以看到f1复制成功 。
(4)输入命令“rm
f1”,删除/home中的f1文件 。在出现的提示信息后输入“Y”,输入命令“ls” , 可以看到f1删除成功 。
(5)输入命令“mv
dirl/fl
/home”,将fl文件从dirl目录
中移动
到/home 。输入命令“ls”,可以看到f1移动成功 。
3、在/home目录中创建一个名为f2的文件,对其进行查找、统计等基本操作 。
(1)在终端提示符下输入命令“cat
f2”,之后输入f2的文本内容如下:
Linux
is
an
operating
system
for
computers.comparable
to
Windows
or
Mac
OS
X.It
was
originally
created
starting
in
1
99
1
by
Finnish
programmer
Linus(pronounced
LEE—nus)
Torvalds
with
the
assistance
of
developers
from
around
the
globe.
按下Ctrl D快捷键结束输入 。再输入命令“ls”可以看到f2创建成功 。
(2)输入命令“head
-3
f2” , 查看文件前3行文本内容 。
(3)输入命令“tail
-2
f2”,查看文件最后两行文本内容 。
(4)输入命令“grep‘linux’f2”,查找含有字符串“linux”的文本行 。
(5)输入命令“wc
-w
f2”,统计f2中的单词个数 。
(6)输入命令“find
f*”,在当前目录中查找以“f”开头的文件 。
4、Shell的高级应用 。
(1)假定当前的目录是/home,输入命令“cd
d”之后按下
Tab键
, 系统自动补全命令“cd
dir1”,按下
回车键
后工作路径从当前的目录转换到/home/dir1下 。
(2)输入命令“history
5”显示最近执行的5条命令 。
(3)输入命令“alias
cgdir=‘cd
/home’” , 为命令“cd
/home”设置别名“cgdir” 。输入命令“cgdir” , 工作路径从当前的目录转换到/home下 。
(4)输入命令“ls
[!a-c]*,显示开头字符不是a、b、c的文件和文件夹 。
利用Bash shell输入命令时,若要进行命令补全、文件补全,可以使用热键?一个tab键是列出,二个tab键是补全 。
linux中可用tab键补全命令名和文件名 。
安装 bash-completion 后,可用tab键补齐几乎任何内容 , 包括参数、文件、目录甚至包名等 。《Linux就该这么学》一起学习交流更多知识 。
centos7 安装过程:
yum install -y bash-completion
重新登录 。
关于Linux7命令不能补全和linux的命令补齐有何作用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 4g路由器是什么型号,4g路由器价格及图片
- js控制文字循环显示,js实现文字逐个显示
- c语言函数名不能用 c语言中函数名可不可以由用户命名
- jsvar数组可变长度,js数组长度可以动态改变
- 公众号的文章如何引用链接,微信公众号引用链接
- peak安卓版本,peak下载
- c语言左右循环函数 c语言循环右移
- 电脑怎么打印居住证明,电脑怎么打印居住证明书
- 不占内存的虚拟机,不占内存的虚拟机推荐