linux基础命令(二)
1、mkdir 用来创建目录
mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。最好采用前后一致的命名方式来区分文件和目录。例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面。
在一个子目录中应包含类型相似或用途相近的文件。例如,应建立一个子目录,它包含所有的数据库文件,另有一个子目录应包含电子表格文件,还有一个子目录应包含文字处理文档,等等。目录也是文件,它们和普通文件一样遵循相同的命名规则,并且利用全路径可以唯一地指定一个目录。
实例:
在目录/usr/meng下建立子目录test,并且只有文件主有读、写和执行权限,其他人无权访问
mkdir -m 700 /usr/meng/test在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问
mkdir -p-m 750 bin/os_1
2、chmod 用来变更文件或目录的权限
- 通过符号组合的方式更改目标文件或目录的权限。
- 通过八进制数的方式更改目标文件或目录的权限。
- 通过参考文件的权限来更改目标文件或目录的权限。
实例:
参考manchmod文档的DESCRIPTION段落得知:
u符号代表当前用户。
g符号代表和当前用户在同一个组的用户,以下简称组用户。
o符号代表其他用户。
a符号代表所有用户。
r符号代表读权限以及八进制数4。
w符号代表写权限以及八进制数2。x符号代表执行权限以及八进制数1。
X符号代表如果目标文件是可执行文件或目录,可给其设置可执行权限。s符号代表设置权限suid和sgid,使用权限组合u+s设定文件的用户的ID位,g+s设置组用户ID位。
t符号代表只有目录或文件的所有者才可以删除目录下的文件。
+符号代表添加目标用户相应的权限。
-符号代表删除目标用户相应的权限。
=符号代表添加目标用户相应的权限,删除未提到的权限。
linux文件的用户权限说明:查看当前目录(包含隐藏文件)的长格式。ls -la
-rw-r--r--1user staff651Oct1212:53.gitmodules第1位如果是d则代表目录,是-则代表普通文件。更多详情请参阅info coreutils ls invocation(ls命令的info文档)的-l选项部分。第2到4位代表当前用户的权限。第5到7位代表组用户的权限。第8到10位代表其他用户的权限。添加组用户的写权限。chmodg+w ./test.log删除其他用户的所有权限。chmodo= ./test.log使得所有用户都没有写权限。chmoda-w ./test.log当前用户具有所有权限,组用户有读写权限,其他用户只有读权限。chmodu=rwx, g=rw, o=r ./test.log等价的八进制数表示:chmod764./test.log将目录以及目录下的文件都设置为所有用户拥有读写权限。注意,使用-R选项一定要保留当前用户的执行和读取权限,否则会报错!chmod-R a=rw ./testdir/根据其他文件的权限设置文件权限。chmod--reference=./1.log ./test.log
注意
- 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man chmod或info coreutils chmod invocation。
- 符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。
- 使用-R选项一定要保留当前用户的执行和读取权限,否则会报错!
3、chown 用来变更文件或目录的拥有者或所属群组
chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。
只有文件主和超级用户才可以使用该命令。
实例:
将目录/usr/meng及其下面的所有文件、子目录的文件主改成 liu:chown-R liu /usr/meng
4、cat 连接多个文件并打印到标准输出
- 显示文件内容,如果没有文件或文件为-则读取标准输入。
- 将多个文件的内容进行连接并打印到标准输出。
- 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。
实例:合并显示多个文件cat./1.log ./2.log ./3.log显示文件中的非打印字符、tab、换行符cat-A test.log压缩文件的空行cat-s test.log显示文件并在所有行开头附加行号cat-n test.log显示文件并在所有非空行开头附加行号cat-b test.log将标准输入的内容和文件内容一并显示echo|cat - test.log
注意
- 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 cat或info coreutils cat invocation。
- 当使用cat命令查看体积较大的文件时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容,为了控制滚屏,可以按Ctrl+s键停止滚屏;按Ctrl+q键恢复滚屏;按Ctrl+c(中断)键可以终止该命令的执行,返回Shell提示符状态。
- 建议您查看体积较大的文件时使用less、more命令或emacs、vi等文本编辑器。
5、echo 输出指定的字符串或者变量
echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
实例:
用echo命令打印带有色彩的文字:
文字色:echo-e"\e[1;31mThis is red text\e[0m"This is red text
\e[1;31m 将颜色设置为红色
\e[0m 将颜色重新置回
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
背景色 :echo-e"\e[1;42mGreed Background\e[0m"Greed Background
颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
文字闪动:echo-e"\033[37;31;5mMySQL Server Stop...\033[39;49;0m"红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐
6、wc 统计文件的字节数、字数、行数
wc命令统计指定文件中的字节数、字数、行数,并将统计结果显示输出。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为-,则wc指令会从标准输入设备读取数据。wc同时也给出所指定文件的总统计数。
实例:wc-l*统计当前目录下的所有文件行数及总计行数。wc-l*.js统计当前目录下的所有 .js 后缀的文件行数及总计行数。find.*|xargswc-l当前目录以及子目录的所有文件行数及总计行数。查看文件的字节数、字数、行数wctest.txt输出结果7870test.txt行数 单词数 字节数 文件名用wc命令怎么做到只打印统计数字不打印文件名wc-l<test.txt输出结果7用来统计当前目录下的文件数(不包含隐藏文件)要去除TOTAL行expr$(ls-l|wc-l)-1输出结果8统计当前目录下的所有文件行数及总计行数[root@centos7~]wc-l*21LICENSE270README.mdwc: example: read:Isadirectory785lerna-debug.log25lerna.jsonwc: node_modules: read:Isadirectory23603package-lock.json79package.json3renovate.json24786total
7、man 查看Linux中的指令帮助
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
实例:
我们输入man ls,它会在最左上角显示LS(1),在这里,LS表示手册名称,而(1)表示该手册位于第一节章,同样,我们输man ifconfig它会在最左上角显示IFCONFIG(8)。也可以这样输入命令:man [章节号] 手册名称。
man是按照手册的章节号的顺序进行搜索的,比如:
mansleep只会显示sleep命令的手册,如果想查看库函数sleep,就要输入:
man3sleep
8、history 显示或操作历史列表。
- 显示历史列表。
- 操作历史列表。
实例:使用history命令显示最近使用的10条历史命令[root@localhost~]history1092ls93cd..94ls95exit96ls-a97cd.ssh/98ls99catknown_hosts100exit101history10清空历史记录[root@localhost~]history-c更多实例:执行第 n 条历史命令[root@localhost~]!n执行最后一条 xxx 开头的命令[root@localhost~]!xxx
xxxxxxxxxxbr实例:br使用history命令显示最近使用的10条历史命令brbr[root@localhost~]history10br92lsbr93cd..br94lsbr95exitbr96ls-abr97cd.ssh/br98lsbr99catknown_hostsbr100exitbr101history10brbr清空历史记录brbr[root@localhost~]history-cbrbr更多实例:brbr执行第n条历史命令br[root@localhost~]!nbrbr执行最后一条 xxx 开头的命令br[root@localhost ~] !xxx
注意
- 在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。
- 关闭终端后,历史列表将被写入历史文件~/.bash_history。
- 环境变量HISTSIZE决定了历史文件中命令的存储数量,默认存储1000条。
- 环境变量HISTTIMEFORMAT如果是非空值,则使用其值作为strftime(3)打印相关时间戳的格式字符串添加在每个显示的历史记录之前;否则不会打印时间戳。
- 该命令是bash内建命令,相关的帮助信息请查看help命令
9、clear 清除当前屏幕终端上的任何信息
clear命令用于清除当前屏幕终端上的任何信息。
实例
直接输入clear命令当前终端上的任何信息就可被清除。
10、yum 基于RPM的软件包管理器
yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
实例
部分常用的命令包括:
自动搜索最快镜像插件:yuminstallyum-fastestmirror
安装yum图形窗口插件:yuminstallyumex
查看可能批量安装的列表:yum grouplist
安装
yuminstall全部安装yuminstallpackage1安装指定的安装包package1yum groupinsall group1安装程序组group1更新和升级
yumupdate全部更新yumupdatepackage1更新指定程序包package1yumcheck-update检查可更新的程序yumupgradepackage1升级指定程序包package1yum groupupdate group1升级程序组group1查找和显示检查 MySQL 是否已安装yumlistinstalled | grep mysql
yumlistinstalled mysql*
yum info package1显示安装包信息package1yumlist显示所有已经安装和可以安装的程序包yumlistpackage1显示指定程序包安装情况package1yum groupinfo group1显示程序组group1信息yum search string 根据关键字string查找安装包删除程序
yum remove | erase package1删除程序包package1yum groupremove group1删除程序组group1yum deplist package1查看程序package1依赖情况清除缓存
yum clean packages清除缓存目录下的软件包yum clean headers清除缓存目录下的 headersyum clean oldheaders清除缓存目录下旧的 headers更多实例yum/etc/yum.repos.d/yum 源配置文件vi /etc/yum.repos.d/nginx.repo举个栗子: nginx yum源[nginx]name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0enabled=1yum mirrormv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget https://mirror.tuna.tsinghua.edu.cn/help/centos/
yum makecache添加中文语言支持LANG=C原始语言LANG=zh_CN.utf8切换到中文yum groupinstall"Chinese Support"添加中文语言支持
今天到此为止!!!下次再见!!!
关注、 点赞 、收藏 、转发 感谢!!!
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!