1-基础命令

基础命令

文件管理

mkdir-创建目录(make directories)

语法:# mkdir [参数] [目录]
参数:
-p: 递归创建
-m:创建后设置权限
-v:显示创建过程
-Z:设置安全上下文

创建目录dir1
# mkdir  dir1  

同时创建dir1、dir2、dir3目录
# mkdir dir{1..3}

创建目录并设置目录权限为755
# mkdir -m 755 /zjz/dir 

递归创建目录
# mkdir -p /father/son 
ll-查看目录或命令(list directory)

ll 和 ls 命令类似,ll可查看的文件信息更多样。

语法:# ll [参数] [目录]
参数:
-a:显示目录下所有文件(包括.开头的文件)
-h:以k单位显示文件大小
-t:时间倒序查看

查看目录下所有文件
# ll -a 
以时间倒序,分页排序文件
# ll -t | more
cd-切换目录(change direcotory)

语法:# cd [参数] [目录]
参数:
~:切换到当前用户家目录
..:切换到上级目录
-:返回上一次目录

返回上一次所在目录
# cd -

连续返回两级目录
# cd ../.. 
pwd-打印当前目录(print work direcotory)
# pwd 
/var/log
mv-移动目录或文件(move)
重命名zjz.txt为123.txt
# mv zjz.txt 123.txt		

将文件zjz移动到/tmp(类似Windows回收站)
# mv zjz /tmp			 

将1.txt-2.txt移动到/zjztest 文件夹中
# mv 1.txt 2.txt  /test   
cp-拷贝(copy)

语法:# cp [参数] [文件]
-r:递归复制
-f:强制覆盖,不回显
-p:保留源文件权限

保留时间戳、模式、所有权
#cp -p file1 file2   

递归复制文件和目录
#cp -r dir1 dir2/	 
touch-创建文件

语法:# touch [参数] [文件]
参数:
-a:改变文件的读取时间
-m:改变文件的修改时间
-r:改变参考档时间

创建文件fiel1到5
# touch file{1..5}

修改`stat`命令查看的`Access`档案的读取时间记录
# touch -a file	
rm-删除目录或文件(remove)

语法:# rm [参数] [文件]
-f:强制删除
-r/R:递归删除
-v:显示过程

删除文件或目录
# rm -r /dir	

删除当前目录下的所有文件(别用)
#rm -rf *	 	
正确删除文件方式:
使用mv命令移动到 /tmp(回收站定期删除),替代删除命令
rmdir-删除目录
递归删除指定的目录树
# rmdir -p dir/dir_1/dir_2
stat-显示文件或文件系统状态(status)
查看文件三种时间状态:Access,Modify,Change:
# stat file 
	[root@localhost ~]# stat  passwd
	  File: ‘passwd’
	  Size: 906             Blocks: 8          IO Block: 4096   regular file
	Device: fd00h/64768d    Inode: 25192981    Links: 1
	Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
	Context: unconfined_u:object_r:admin_home_t:s0
	Access: 2020-05-14 17:06:19.096067049 +0800
	Modify: 2020-05-14 17:07:41.806062954 +0800
	Change: 2020-05-14 17:07:41.806062954 +0800
	 Birth: -
显示文件系统的信息
# stat -f passwd		 
	[root@localhost ~]# stat -f passwd
	  File: "passwd"
	    ID: fd0000000000 Namelen: 255     Type: xfs
	Block size: 4096       Fundamental block size: 4096
	Blocks: Total: 2618880    Free: 2282731    Available: 2282731
	Inodes: Total: 5242880    Free: 5208166
cat-显示文件内容

语法:# cat [参数] [文件]
参数:
-n:显示行号(包括空行)
-b:显示行号(不包括空行)

查看文件的内容,并添加行数编号后输出到另外一个文件中
# cat -n zjz.log > zzz.log 

清空文件内容
cat /dev/null > /root/filename.txt

cat写入操作

# cat > file.txt << EOF
hello
world!
EOF


# cat file.txt
hello
world!
alias-设置命令别名

使用alias时,用户必须使用单引号 ' '将原来的命令引起来
语法:# alias [参数]
参数:
-p:打印已经设置的命令别名

查看已经设置的命令别名
# alias -p
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'

给命令设置别名
# alias ip=ifconfig
# ip
br-305ebea0aa9f: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
        inet6 fe80::42:ecff:fe6f:97bd  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ec:6f:97:bd  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

删除别名使用# unalias ip

echo-输出字符串或提取Shell变量的值
>   重定向,会覆盖文件中的数据(没有则创建该文件)
# echo  ‘Hello china’ > /home.txt

>>  内容追加
# echo  ‘Hello word’ >>  /home/zjz.txt 


输出一段字符串
#  echo "Linux.com" 
Linux.com 

提取变量值
# echo $LANG
en_US.utf8

修改Linux系统语言为中文
# LANG='zh_CN.UTF-8'

使用反引号符执行命令,并输出
# # echo `date`
输入、输出重定向

stdin=0 标准输入
stdout=1 标准输出
stderr=2 标准错误输出

>   重定向,会覆盖文件中的数据  慎用
如果没有home.txt会创建,写入单引号 内容
如果有,清空已有的内容,写入单引号的内容
echo  ‘Hello china’ > /home.txt

>>  内容追加
echo  ‘Hello word’ >>  /home/zjz.txt 


<  输入重定向
<<

 
2>&1 详解(通过2>&1,就将标准错误重定向到标准输出了)
  1>/dev/null 2>$1的含义
---
> 代表重定向到哪里,例如:echo "123" > /home/123.txt 
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 
2 表示stderr标准错误 
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1 

1、1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。 
2、2>&1 接着,标准错误输出重定向等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。 
3、/dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件。
---

在这里插入图片描述

| - 管道符(任意门)

把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入”。

格式:命令 A | 命令 B 或者 “命令 A | 命令 B | 命令 C”

 统计文本行数的命令则是 wc -l
 # cat /etc/passwd | wc -l
 28

非交互式修改密码
# echo “Zz123456” | passwd --stdin root

技巧命令

mail-收发邮件

语法:# mail [参数] [文件]
参数:
-s:给邮件追加主题
-a:发送邮件附件,多个附件使用多次-a
-c:抄送收件人地址
-b:指定密件抄送的收件人地址

开启邮件服务
# /etc/init.d/postfix start

Centos默认不能发送邮件,需要安装sendmail
# yum install -y sendmail
设置开机自启动
# systemctl enable sendmail
配置mail.rc文件
# vim /etc/mail.rc
set from=795xxx27@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=79xxx327@qq.com
set smtp-auth-password=wijsixxxxx
set smtp-auth=login


发一封标题为test的空信给后面的邮箱
# mail -s test test@linuxcool.com
/dev/null

/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;

不想看到回显
date > /dev/null
/dev/zero

/dev/zero文件代表一个永远输出 0的设备文件

生成一个1G大小的文件
# dd if=/dev/zero of=testfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.82482 s, 184 MB/s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值