xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 新闻动态 2019-11-17 08:12 的文章
当前位置: 新濠国际登录平台 > 新闻动态 > 正文

bash shell的默认提示符,cp file1 file2 拷贝文件

Linux常用精简命令实训

 

一、文件操作

1.1 在家目录下创建testDir目录,随后进入testDir,分别采用相对路径和绝对路径两种方式,再进入到目录/home。

1.2 在家目录下,创建目录testDir/java/docs和目录testDir/shell/docs

1.3 在家目录下,目录testDir/java/docs中创建文件t1(并且文件中写入内容:“this file name is t1”),目录testDir/shell/docs中创建文件t2(并且文件中写入内容:“THIS file name : t2”)。

1.4 在家目录下,创建软链接文件_t1(_t1链接到testDir/java/docs/t1),家目录中创建软链接文件_t2(_t2链接到testDir/shell/docs/t2)。

1.5在家目录下,把目录testUser拷贝一份为testUser1,然后把目录testUser1重命名为:testUser.bak。

1.6在家目录下,删除目录testUser.bak。

1.7在家目录下,查找所有的链接文件。

1.8在家目录下,查找所有的普通文件并显示普通文件的详细信息。

1.9在家目录下,查找所有的目录并过滤掉“.”目录

1.10在家目录下,查找所有包含文本“file name”的普通文件。

1.11在家目录下,查找所有包含文本“this”和“THIS”的普通文件。

1.12在家目录下,查找所有包含“is”单词的普通文件。

1.13在家目录下,查找所有包含文本“file name”但不包含“:”的普通文件。

1.14把目录testDir/java/docs下的t1文件,拷贝一份到家目录下,重命名为t3,并把t3的文件权限更改为:700(即:只有用户有读写可执行权限,同组和它组权限为空)

1.15把目录testDir和目录RootDir打包并压缩为:testDir.tar.gz

1.16把目录testDir重命名为testDir.old,把目录RootDir重命名为RootDir.old,再解包testDir.tar.gz以还原目录testDir和RootDir。

二、问答题

2.1“~”代表的是什么意思?“.”代表的是什么意思?“..”代表的是什么意思?

2.2查看显示文件内容的命令有哪些?

 

FHS:标准文件架构规范
用好man命令
su - name 切换到用户name
su - root
chmod 777 filename
cd -:上一个工作目录
cd ~:用户的家目录
cd ~nid:q切换到nid的家目录
mkdir -p /tmp/dd/dd/d创建嵌套目录
rmdir dir:删除空目录
ls [文件名|目录名|NONE]
ls -a列出包含的隐藏文件
ls -l列出文件的详细信息
修改用户组:
chown nbcc:stu hello.sh
chown stu hello.sh
chown :nbcc hello.sh
ls -l hello.sh
列出的文件信息中;
d:目录文件
-:普通文件
c:字符文件
l:链接文件
cp -r /temp/aa ~ 拷贝目录到家目录
拷贝时存在多个同名文件处理办法:
cp -f /temp/aa /tmp/file03 ~
cp /tmp/smple.sh ~nbcc 拷贝sample.sh到nbcc家目录
拷贝文件到目录下(并且保留拷贝前的权限-p)
cp -p /tmp/file03/sample.sh ~nbcc
mv /tmp/dd /tmp/dd1 /tmp/d2 ~移动多个目录到家目录
移动文件中覆盖同名文件;
mv -f /tmp/d2 ~
重名文件
mv ./file08 ./file01
删除命令:
rm ./file01
删除多个文件;
rm ./file01 ./file02 ./file02
删除目录:
rm -R ./dir1
直接删除目录:-f
rm -fR ./dir1
软链接
ln -s [链接指向的文件][链接名]
ln -s /tmp/hello.sh ./hello_slink
如果符号链接指向的文件被删除了,意味着链接断裂了。
硬链接、软链接
硬链接
ln [链接指向的文件][链接名]
注意:
1.不推荐创建目录硬链接
2.不推荐跨磁盘创建硬链接
3.硬链接的删除只是删除文件的名字,并不是删除文件
tar
tar -cf [打包文件名][要打包的文件/列表]
-c:创建打包文件
-f:指定打包文件名
打包多个文件:
tar -cf sample.tar /tmp/file1 /tmp/file2 /tmp/file3
列出打包里的所有文件名:
tar -tf ./sample.tar
删除打包内的文件:
tar -f ./sample.tar --delete tmp/file05
合并打包的tar文件:
tar -f ./sample.tar -A ./sample1.tar
向tar文件添加文件:
tar -f ./sample.tar -r ~/file.txt
解包文件:
tar -xf ./sample.tar -C ./sample
备注:默认解包到当前目录
-C:解包的目录
压缩文件:
gzip ./sample.tar
解压文件:
gzip -d ./sample.tar.gz
打包和压缩命令结合使用:tar和gzip
例如:
tar -czf sample.tar.gz /tmp/sample /tmp/file05
解压缩解包
tar -xzf sample.tar.gz

第一部分 Linux命令行

pwd 查看当前处在的工作目录
cd / 到达根目录

locate .tar 查找文件
locate是从数据库中查找:/var/lib/mlocate数据库
更新数据库:updatedb

  1. 基本的bash shell命令

Tab 一次 补齐 两次 提示

find [查找范围][查找条件][动作]
find / -name passwd
find /bin -type l:查找符号链接文件
-type d目录文件
-type f:普通文件
-type c:字符文件
-type b:块设备文件
-type l:符号链接文件

1.1 启动shell

cp file1 file2 拷贝文件
cp -r dir1 dir2 拷贝目录

查找三天内内容发生改变的文件
find /tmp -mtime -3 -ls
查找七天前内容发生改变的文件
find /tmp -mtime +7 -ls
查找4天前的那天目录下发生改变文件
find /tmp -mtime 4 -ls
注释:
+:表示n天之前
-:表示n天之内
n:表示前第n天
find /tmp -mmin -3 -ls :分钟
-amin -atime 文件被修改、执行时间
-cmin -ctime 文件属性被修改时间
-mmin -mtime 文件修改时间

/etc/passwd文件包含所有系统用户列表及基本配置信息:rich:x:501:501:Rich Blum:/home/rich:/bin/bash

mv file .. 把file移动到 上一级目录
mv file dir/ file 移动到当前dir目录中

按照大小查找;
查找目录下下于3K的文件;
find /tmp -size -3k -ls
查找比100字节大的文件
find /tmp -size +100c -ls

- 用户名- 用户密码(占位符)- 用户的系统UID(用户ID)- 用户的系统GID(组ID)- 用户的全名- 用户的默认主目录- 用户的默认shell程序

mv file1 file2 重命名目录
mv dir1 dir2 # dir2 存在则为移动

查找拥有者是root用户的文件
find /tmp -user root -ls
查找用户的uid为500的文件
find /tmp -uid 500 -ls
查找用户组是stu的文件
find /tmp -group stu -ls
查找用户组为gid0的文件
find /tmp -gid 0 -ls
按照用户的拥有权限查找文件
find /tmp -perm 754 -ls
find多参数查找文件:
与-a
或-o
非!
例子:
find /tmp (-size +1k -a -size -10M -a -mmin -30 -a -type f) -ls

1.2 shell提示符

rm file 删除
rm -r dir 删除目录

查找到特定文件并删除
find /tmp (-size +1k -a -size -10M -a -mmin -30 -a -type f) -exec rm -rf {} ;
;在bash有特定意义,因此要用转移符
find ~(-mmin -10 -a -type d ) -exec tar -cf {}.tar {} ;
-OK -exec (类似,会有提示信息)
查找名字为temp的文件删除不提示:
find / -name temp -exec rm {} ;
通配符:
*:任意长度的字符串(包括0长度)
?代表任意的单个字符
ls -l /bin/??sh
[c1-c2]c1-c2的字符序列
cp /tmp/file[0-9].txt ~ 拷贝文件到家目录下
[c1,c2,c3,c4,...cn]匹配中括号内字符序列中的任意单一的字符
example:
修改以下特点的文件属性:
chmod 700 /tmp/script[a,1,x].sh
{string1,string2,string3,string4,..stringn}匹配之中的某一个字符串
example:
rm -rf {script,shell}*.sh:删除开头如上的文件
!取反
打包除了[0-9]之间的任意一个字符
tar -cf file.tar /tmp/file[!0-9].txt

$:bash shell的默认提示符

创建文件:
touch a.txt

cat (concatenate)连接几个文件、从键盘创建文件,查看文件
查看文件
cat /var/shell.sh
查看文本文件(大文件)
less /var/shell.cpp (up,down向上下,pagedown,pageup)
head -n 20 /var/log/messages 查看文件的前20行
tail 查看文件的结尾信息
重定向:
ls -l /tmp/example/ 1> ./stdout.txt
ls -l / 1>>stdout.txt
ls -l /tmp/example/ 2> ./stdout.txt
ls -l / 2>>stderr.txt
重定向到一个文件中:错误、正确
ls -l /temp/example/file1 /tmp/example/file04 &>std.txt
忽略输出:
ls -l /tmp/example/file1 /tmp/example/file04 2>>/dev/null
输入重定向:
tr [准备要替换的字符][要替换成的字符]
tr ' ' 't' < ./fruit.txt 将fruit.txt中的文本中空格替换为tab
sort -k [关键字字段序号][要排序的文本文件]
sort -k2 <<EOF
>1 apple
>2 pear
>3 banana
>EOF
1 apple
3 banana
2 pear

echo $PS1:显示当前默认提示符设置(PS1:控制默认命令行提示符的格式)

a.txt
编辑器保存

管道
grep cut head tail less more wc tr sort
grep [关键字文本] [查找的文本]
ls -al /etc | less
ls -al /etc | grep 'ssh'

$ PS1="[t][u]$":创建新的提示符,只需给PS1变量赋一个新的字符串

创建目录:
mkdir dir

cut
cat ~/install.log| cut -c1,2 切割的字符列序号
cat /etc/passwd | cut -f1 -d":" (数字,:分隔符)

1.3 bash手册

查看文件:
cat file 或编辑器
less 可以分页查看

wc:统计命令
wc /etc/passwd 统计行数和单词数
wc -l /etc/passwd 只统计文本的行数
example:
ls -al ~|cut -c1 | grep "d" | wc -l

man bash:man手册页面

查看文件类型:
file a.txt

 

1.4 浏览文件系统

通配符---》字符串匹配

常见Linux目录名称

/:根目录/bin:GNU用户工具/boot:启动目录/dev:设备目录/etc:系统配置文件目录/home:主目录,创建用户目录/lib:库目录,存放系统和应用程序的库文件/media:媒体目录/mnt:挂载目录/opt:可选目录,存放可选软件包/root:根主目录/sbin:GNU管理员级工具/tmp:临时目录/usr:用户安装软件目录/var:可变目录,存放经常变化的目录

rm a* 删除所有以a开头的文件
rm * 删除当前目录下的所有文件

遍历目录

upzip happygrep-master.zip 解压zip包

cd:切换目录

zip -r happygrep-maste.zip haapygrep-master/(打包的文件) 打包文件

绝对文件目录:从根目录开始

echo a* 打印对应字符串的文件名

相对文件目录:.:表示当前目录;..:表示当前目录的父目录

rm *.html 删除所有html文件

1.5 文件和目录列表

tar zxvf 文件名.tar.gz 解药 .tar.gz类型

1.5.1基本列表功能

tar zcvf 文件名.tar.gz/ wget-1.11.1/ 压缩.tar.gz型

ls:显示当前目录下的文件和目录

tar jxvf 文件名.tar.bz2 解压tar.bz2文件

-F:区分文件和目录-a:显示隐藏文件和目录-R:列出当前目录下包含的目录中的文件

tar jcvf 文件名.tar.bz2 文件名/ 压缩tar.bz2文件

1.5.2修改输出信息

重定向
任何一个命令都有输出,有时候并不想输出,则可以保存到文件中去
date >output.txt

ls -l:显示详细信息

有一个目录中有很多文件,我想查找包含less的文件
1.则可以 ls /bin|grep less
就可以查找到包含less的所有文件
2.也可以ls /bin >bin.txt保存到文件中
再通过 grep less <bin.txt 也可以得到同样的效果

- 文件类型- 文件的权限- 文件的硬链接总数- 文件属主的用户名- 文件属组的组名- 文件的大小- 文件的上次修改时间- 文件名或目录名

LINUX所有的东西都是文件
file descriptor
三个固定的文件描述符
stdin 0 键盘输入
stdout 1 正确输出
stderr 2 错误输出

1.5.3 完整的参数列表

有一个小程序
cowsay
hellopter
就会有牛标准输出

ls -sail: -a:列出所有文件 -i:列出索引节点

redirect stdout
重定向符>每次操作都会把文件先进行清空
再进行写入
file1 file2 file

​       -l:产生一个长列表 -s:列出文件的块大小

如果要进行追加则必须是>> 两个连字符
cat file1 file2 也会同时打印两个文件
cat file1 file2 >file 同时输出

1.5.4 过滤输出列表

redirect stderr
标准错误重定向输出
进行重定向输入文件也是可以的
例如 ls shit 2>out.txt

ls -l 文件名:文件名中,?代表一个字符,*代表零个或者多个字符

redirect stdin
标准输入
cowsay <out.txt

1.6 处理文件

管道符一个一个命令连接起来 |
command1|command2|command3

1.6.1 创建文件

剔除一个文件中的相同字符串
cat files.txt|uniq

touch 文件名:创建空文件,也可以更改文件的访问和修改时间

如果想只看到后缀为txt的文件 则可以
cat files.txt|uniq|grep txt

-a:只修改访问时间-m:只修改修改时间-t:指定特定的时间

用户在自己的主目录是有写权限,而其他则没有

1.6.2 复制文件

sudo apt-get -y install vim 安装软件
因为要涉及其他文件位置的存放所以需要sudo

cp 源文件目录 目标文件目录:复制文件

rwx三种常用权限
ls -l a.txt
-~w-rw-r-- 1 peter peter 0 Aug 30 11:57 a.txt

cp -R:递归复制整个文件目录

  • 普通文件file
    l sym link 链接
    directory 目录
    。。。

1.6.3 链接文件

1 link number 链接数量

cp -l:创建硬链接,其中包含了源文件的信息及位置。

owner group world各三位

cp -s:创建软连接,一个符号链接。

对目录进行查看
ls -ld mydir

1.6.4重命名文件

whoami 查看当前目录文件的拥有者

mv 文件名 新文件名:mv命令是用来移动文件的(moving),也可以用于重命名。

chmod +w (文件) 给文件+上写权限

1.6.5 删除文件

vim a.sh
敲一个简单的打印命令
echo hello
./执行文件名

rm:删除文件也就是移除(removing),加-f强制删除。

每个文件权限都有相应的代码数
r 4 x 2 w 1
chmod 666 a.txt 则是合法的

1.7 处理目录

1.7.1创建目录

mkdir:创建目录

1.7.2删除目录

rmdir:删除空目录,可以--ignore-fail-on-non-empty删除非空目录

rm -rf:强制递归删除目录

1.8 查看文件内容

1.8.1 查看文件统计信息

status:显示某个文件的所有状态信息

1.8.2 查看文件类型

file:查看文件类型

文本文件可执行文件数据文件

1.8.3 查看整个文件

  1.   `cat`:查看整个文件。`-n`添加行号,`-s`压缩空白行

more:显示文件的内容,但会在显示每页数据之后停下来

less:显示文件内容,功能上更高级

1.8.4 查看部分文件

tail:显示文件末尾部分内容

head:显示文件开头部分内容

  1. 更多的bash shell命令

2.1 检测程序

新濠国际登录平台,2.1.1 探查进程

ps:显示运行在当前控制台的当前用户的进程

-ef:查看系统上运行的所有进程-H:把输出的进程组织成层级形式,即树状--forest:显示层级结构信息

1.Unix风格参数2.BSD风格参数3.GNU全字参数

2.1.2 实时监测进程

本文由新濠国际登录平台发布于新闻动态,转载请注明出处:bash shell的默认提示符,cp file1 file2 拷贝文件

关键词: