目录
6.在一行上执行两个命令,打印123和从root切换到普通用户
7.引号的使用举例: 无引号,单引号,双引号,反引号,$()
1.tar命令的使用
使用tar命令对文件进行打包压缩与解压缩:
# 打包压缩
[root@server ~]# tar -cvf _file.tar ?file
afile
bfile
zfile
[root@server ~]# ll _file.tar
-rw-r--r--. 1 root root 10240 Jul 19 22:46 _file.tar
# 解压缩
[root@server ~]# tar -xvf _file.tar
afile
bfile
zfile
使用gzip方式对文件进行压缩,并指定压缩名为 tar_gzip.tar.gz
[root@server ~]# tar -cvzf tar_gzip.tar.gz ?file
afile
bfile
zfile
[root@server ~]# ll tar_gzip.tar.gz
-rw-r--r--. 1 root root 174 Jul 19 22:52 tar_gzip.tar.gz
使用bzip2方式对文件夹进行压缩,并指定压缩名为 tar_bzip2.tar.bz2
[root@server ~]# tar -cvjf tar_bzip2.tar.bz2 ?file
afile
bfile
zfile
[root@server ~]# ll tar_bzip2.tar.bz2
-rw-r--r--. 1 root root 183 Jul 19 22:54 tar_bzip2.tar.bz2
使用xz方式对文件进行压缩,并指定压缩名为 tar_xz.tar.xz
[root@server ~]# tar -cvJf tar_xz.tar.xz ?file
afile
bfile
zfile
[root@server ~]# ll tar_xz.tar.xz
-rw-r--r--. 1 root root 220 Jul 19 22:54 tar_xz.tar.xz
新建文件file1.txt,file2.txt,file3.txt,对文件file1.txt和file2.txt,进行压缩(使用gzip方式),排除 file3.txt(即不对file3进行压缩),并指定压缩名为tar_file.tar.gz
[root@server ~]# touch file{1..3}.txt
[root@server ~]# ls file1.txt file2.txt file3.txt
file1.txt file2.txt file3.txt
[root@server ~]# tar -cvzf tar_file.tar.gz --exclude=./file3.txt ./file?.txt
./file1.txt
./file2.txt
[root@server ~]# ls tar_file.tar.gz
tar_file.tar.gz
新建文件file4.txt,将file4.txt添加到tar_file.tar.gz中
[root@server ~]# touch file4.txt
[root@server ~]# gunzip tar_file.tar.gz
[root@server ~]# tar -rf tar_file.tar file4.txt
[root@server ~]# gzip tar_file.tar
查看压缩包tar_file.tar.gz有哪些文件及目录(不解压,只查看)
[root@server ~]# tar -tf tar_file.tar.gz
file1.txt
file2.txt
file4.txt
解压tar_gzip.tar.gz到指定目录tar_test(没有这个目录就创建)
[root@server ~]# mkdir tar_test
[root@server ~]# tar -xf tar_gzip.tar.gz -C tar_test/
[root@server ~]# ls tar_test/
afile bfile zfile
解压tar_xz.tar.xz
[root@server ~]# tar -xf tar_xz.tar.xz
2.sftp命令的使用
在Linux上的/root目录创建一个Linux.txt,在windows上创建windows.txt
[root@server ~]# touch Linux.txt
通过sftp的 get 和 put 命令,将windows上的windows.txt推送到 linux上
[root@server ~]# ls windows.txt
windows.txt
通过sftp的 get和put命令,将linux上的linux.txt推送到windows上
3.创建环境变量
创建普通变量local_data=1并访问
[root@server ~]# local_data=1
[root@server ~]# echo $local_data
1
创建环境变量ROOT_DATA=root, 只有root用户可以访问到
[root@server ~]# vim .bashrc # 配置ROOT_DATA环境变量
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
ROOT_DATA=root
~
~
[root@server ~]# source .bashrc # 刷新.bashrc
[root@server ~]# echo $ROOT_DATA
root
创建环境变量USER_DATA=user, 只有普通用户可以访问到
[root@server ~]# su - redhat
[redhat@server ~]$ vim .bashrc # 配置USER_DATA环境变量
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific environment
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
then
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
USER_DATA=user
~
[redhat@server ~]$ source .bashrc
[redhat@server ~]$ echo $USER_DATA
user
创建环境变量DATA=all, root用户和普通用户都可以访问到
[root@server ~]# vim /etc/bashrc # 配置USER_DATA环境变量
...
done
unset i
unset -f pathmunge
fi
fi
# vim:ts=4:sw=4
DATA=all
[root@server ~]# source /etc/bashrc
[root@server ~]# echo $DATA
all
[root@server ~]# su - redhat
[redhat@server ~]$ echo $DATA
all
4.alias命令的使用
创建3个文件test1.txt, test2.txt, test3.txt
[root@server ~]# touch test{1..3}.txt
[root@server ~]# ls test{1..3}.txt
test1.txt test2.txt test3.txt
使用find查找test1.txt,test2.txt, test3.txt
[root@server ~]# find -name "test[123].txt"
./test3.txt
./test1.txt
./test2.txt
使用别名: 将上边命令命名为myfind
[root@server ~]# alias myfind='find -name "test[123].txt"'
[root@server ~]# myfind
./test3.txt
./test1.txt
./test2.txt
取消别名
[root@server ~]# unalias myfind
[root@server ~]# myfind
bash: myfind: command not found...
5.查看最近使用的10条历史命令
[root@server ~]# history 10
426 find -name "test{1,2,3}.txt"
427 alias myfind="find -name "test{1,2,3}.txt""
428 myfind
429 alias myfind="find -name "test[123].txt""
430 myfind
431 alias myfind='find -name "test[123].txt"'
432 myfind
433 unalias myfind
434 myfind
435 history 10
6.在一行上执行两个命令,打印123和从root切换到普通用户
[root@server ~]# echo 123;su - redhat
123
[redhat@server ~]$
7.引号的使用举例: 无引号,单引号,双引号,反引号,$()
# 无引号
[root@server ~]# num=1
[root@server ~]# echo $num
1
[root@server ~]# test=this is a test
bash: is: command not found...
# 单引号
[root@server ~]# test='this is a test'
[root@server ~]# echo $test
this is a test
[root@server ~]# echo 'num = $num'
num = $num
# 双引号
[root@server ~]# echo "num = $num"
num = 1
# 反引号
[root@server ~]# cmd=`pwd`
[root@server ~]# echo $cmd
/root
# $()
[root@server ~]# cmd=$(date)
[root@server ~]# echo $cmd # 与反引号作用相同
Wed Jul 20 20:11:07 CST 2022