使用方式,3  查找指定文件
分类:巴黎人-服务器

实验楼-小时赛第1期 linux练习,实验楼第1期

1 服务管理

安装并运行samba:

sudo apt-get update
sudo apt-get install samba
sudo service samba restart

2  提取文本中的信息

用脚本提取给定文档中以png和jpg结尾的图片链接:

grep "http.*.(jpg|png)" $1 

grep "http.*. ( jpg | png )" $1 

3  查找指定文件

将 /etc 目录下所有内容中包含 shiyanlou 字符串的文件的完整路径都写入 /home/shiyanlou/output 文件中:

touch output
sudo grep -R "shiyanlou" /etc > output

4  获取满足条件的程序

请实现一个脚本获取指定端口上正在运行的程序的绝对路径,如果没有运行任何程序则打印 OK 字符串。

t=`lsof -i:$1|tail -1|awk '{print $1}'`
if [  -n "$t" ] ;then
    which $t
else
    echo "OK"
fi

5  证书配置 请为 shiyanlou 用户配置一个 SSH 证书,使 shiyanlou 用户 SSH 登陆本地实验环境的时候不需要输入密码。同时设置 SSH 服务禁止所有用户使用密码登陆。

#1 修改sshd配置
sudo vi /etc/ssh/sshd_config
#禁止密码登录
PasswordAuthentication  no 
#注释三行
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

#重启让配置生效
sudo service ssh restart

#生成公钥写入文件
cd ~/.ssh
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cp  id_dsa.pub  authorized_keys
#不安全的设置,将不能使用RSA功能
chmod 600 ~/.ssh/authorized_keys

6 避免误删

(1)rm -f 命令删除的文件或文件夹都临时存入 /tmp/trash 文件夹,而不删除,例如使用 rm -f /home/shiyanlou/testfile 后,文件 testfile 会被移动到 /tmp/trash/testfile,如果 /tmp/trash 目录下已经有 testfile 重名文件则直接覆盖老的文件。
(2)rm 命令不加 -f 参数的时候执行流程不变,不需要移动到 /tmp/trash 文件夹。

sudo cp /bin/rm /bin/oldrm
sudo cp  ~/rm.sh  /bin/rm

#脚本内容
#!/bin/bash
if [ $# -eq 2 ] && [ "$1"=="-f" ]
then
        mv $2 /tmp/trash
else
        /bin/oldrm $1 $2
fi

linux实验报告

svn 删除所有的 .svn文件

实验楼 linux 学习

1.wget

wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。

命令格式:wget [options] [URL]

7  密码生成器

(1)生成的密码字符串长度为12位
(2)密码中必须同时包含数字,大小写字母及至少1个特殊字符
(3)只允许使用这些特殊字符:><+-{}:.&;

arr1=(> < + - { } : . & ;)
arr2=(a b c d e f g h i j k l m n o p q r s t u v w x y z)
arr3=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
t=${arr1[$[$RANDOM%10]]}
t=$t${arr2[$[$RANDOM%26]]}
t=$t${arr3[$[$RANDOM%26]]}
t=$t$[$RANDOM%10]
echo $t"abcdefgh"

10 拷贝指定文件

拷贝指定目录下(包括子目录)所有大于4M文件

#!/bin/bash
function getdir(){
    #目录一定要一致
    if [ ! -d "/tmp"$1 ]; then
        `mkdir "/tmp"$1`
    fi
    for element in `sudo ls $1 `
    do
        dir_or_file=$1"/"$element
        if [ -d $dir_or_file ]
        then
            getdir $dir_or_file
            continue
        else
            ss=`sudo ls -l $dir_or_file| awk '{print $5}'`
            if [ $ss -gt 10240 ]; then
                `cp $dir_or_file "/tmp"$1`
            fi
        fi
    done
}
root_dir="/etc"
getdir $root_dir

查看评论

linux练习,实验楼第1期 1 服务管理 安装并运行samba: sudo apt-get updatesudo apt-get install sambasudo service samba restart 2  提取文...

第六章

复制代码 代码如下:

 

2.scp(服务器之间的互相拷贝)

scp 命令是 SSH 中最方便有用的命令了。试想在两台服务器之间直接传送文件,仅仅用 scp 一个命令就完全解决了。

你可以在一台服务器上以 root 身份运行scp servername:/home/ftp/pub/file1 ./ 这样就把另一台服务器上的文件 /home/ftp/pub/file1 直接传到本机器的当前目录下了。

当然你也可以用 scp /tmp/file2 servername:/boot 把本机上的文件 /tmp/file2 送到另一台机器的 /boot 目录下。而且整个传送过程仍然是用 SSH 加密的。   

scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。 与rcp 不同的是,scp 在需要进行验证时会要求你输入密码或口令。

其通用格式,可以简记为,scp -r 源文件 目标位置:表示将源文件拷贝到目标位置。其中-r选项,是在拷贝目录时使用。

(1)scp -r live/ [email protected]:/home/bugfixpcui/app/search/video/

将本地 live目录传送到另一台[email protected]机器的/home/bugfixpcui/app/search/video/目录下。

(2)scp -r ala-common/ [email protected]:/home/bugfixpcui/app/search/video/

将本地ala-common目录传送到另一台[email protected]机器上的/home/bugfixpcui/app/search/video/目录下。

(3)scp [email protected]:/home/abc/file1.php ./

表示将远程机器192.168.11.22上/home/abc/file1.php文件拷贝到当前目录。其中执行后需要输入用户zhaolinchueng的密码才可以。

压缩

find . -name .svn -type d -exec rm -fr {} ;

 

3.ps aux

常用ps命令参数 进程查看命令,需掌握一些最常用的命令参数就可以了。最常用的三个参数是u、a、x。
a 显示终端上的所有进程,包括其他用户的进程。x 显示没有控制终端的进程。u user 用户名。

1,1 使用zip压缩打包程序

linux之cp/scp命令+scp命令详解  

一、Linux 用户管理

4.cp:拷贝目录

cp - r /usr/xu/ /usr/liu/ 将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中

shiyanlou:~/ $ zip -r -q -o shiyanlou.zip /home/shiyanlou

名称:cp

1.查看用户

5.mv:更改目录或文件名

mv /home/abc /home/abcd

shiyanlou:~/ $ du -h shiyanlou.zip

使用权限:所有使用者

who am i //

6.find:查找某目录下包含某关键词的文件

find . -name '*.*' | grep "*.*"

以上命令将实验楼的home目录打包成一个文件,

使用方式:

who mom likes

7.rm:删除目录

rm -rf 目录名

第一行中 -r参数表示递归打包包含子目录的全部内容

cp [options] source dest

cp [options] source... directory

whoami

8.tail:查看文件最后的几行

tail 文件名:表示查看文件的后10行。

其中有一个很好用的参数" -f ",使用此参数时,tail 不会回传结束信号,除非我们去自行去中断它;相反的,它会一直等待一段时间,一直到他发现资料自它最后一次被读取后,又被加入新的一行时,即它将会以一定的时间实时追踪该档的所有更新。eg: tail -f file

tail的另一个参数是-n N,使用此参数是查看最后N行。如:tail -n 100 file :表示查看文件file的后100行。

 

               -q参数表示未安静模式,既不像屏幕输出信息

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

 

9.rz和sz:linux和windows之间互传文件

 

rz -be:上传windows的东西到linux中。运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器。

sz:将linux中的文件下载到windows中。文件会下载到secure crt中的默认下载目录。如下所举例:

sz -be ui.tar.gz:表示将ui.tar.gz下载到自己的本机中。

注:

配置上传下载目录:选择某个"session 标签"->"会话选项"->"终端"->"X/Y/Zmodem",之后就会看到上传和下载目录,可以在这里设置。

  • 1
  • 2
  • 下一页

wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。 命令格式:...

               -o表示输出文件,需要在气候紧跟打包输出文件名

把计

====--------======

第二行中 用du命令查看打包后文件的大小

-a 尽可能将档案状态、权限等资料都照原状予以复制。

输入的第一列表示打开当前伪终端的用户的用户名(要查看当前登录用户的用户名,去掉空格直接使用 whoami 即可),第二列的 pts/0 中 pts 表示伪终端,所谓伪是相对于 /dev/tty 设备而言的,还记得上一节讲终端时的那七个使用 [Ctrl]+[Alt]+[F1]~[F7] 进行切换的 /dev/tty 设备么,这是“真终端”,伪终端就是当你在图形用户界面使用 /dev/tty7 时每打开一个终端就会产生一个伪终端, pts/0 后面那个数字就表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入 who am i ,看第二列是不是就变成 pts/1 了,第三列则表示当前伪终端的启动时间

(可设置压缩级别-【1-9】1表示最快压缩但体积大,9表示体积最小但耗时最久)注意:这里只能使用绝对路径,否则不起作用

-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。

===---------=====

创建加密zip包  使用-e参数可以创建加密压缩包

-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

2.创建用户

1,2 使用unzip命令解压缩zip文件

范例:

sudo adduser lilei //穿件用户

例 将shiyanlou.zip解压到当前目录

将档案 aaa 复制(已存在),并命名为 bbb :

 

$ unzip shiyanlou.zip

cp aaa bbb

====---------====

注意  如果你不想解压只想查看压缩包的内容你可以使用-1 参数

将所有的C语言程式拷贝至 Finished 子目录中 :

按照提示输入 shiyanlou 密码(Linux 下密码输入通常都是不可见的),然后是给 lilei 用户设置密码,后面的选项的一些内容你可以选择直接回车使用默认值:

         使用-o参数在解压时制定编码类型

cp *.c Finished

====--------====

3.3 rar打包压缩命令

命令:scp

 

基本操作

不同的Linux之间copy文件常用有3种方法:

 

安装 sudo apt-get update

第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。

su -l lilei 切换到用户状态

        sudo  apt-get install rar unrar

第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。

 

从指定文件或目录 创建压缩包或添加文件压缩包

第三种就是利用scp命令来进行文件复制。

3.用户组

rm *.zip

    scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

在 Linux 里面如何知道自己属于哪些用户组呢?

rar a shiyanlou.rar .

scp /home/daisy/full.tar.gz

方法一:使用groups命令

上面使用的a参数添加一个目录~到一个归档文件中,如果该文件不存在就会自动创建

然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。

groups shiyanlou

注意:rar 的命令参数没有 -,如果加上会报错。

    如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

方法二:查看/etc/group文件

删除  $ rar d shiyanlou.rar .zshrc

linux之cp/scp命令+scp命令详解(转) - linmaogan - 独木★不成林scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz

cat /etc/group | sort

解压 

linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;

 

全路径解压  $ unrar x shiyanlou.rar

==================

将其它用户加入 sudo 用户组

去掉路径解压  $ mkdir tmp

scp 命令

scp 可以在 2个 linux 主机间复制文件;

命令基本格式:
       scp [可选参数] file_source file_target

======

#su -l lilei

$ unrar e shiyanlou.rar tmp/

从 本地 复制到 远程

* 复制文件:
        * 命令格式:
                scp local_file
                或者
                scp local_file
                或者
                scp local_file remote_ip:remote_folder
                或者
                scp local_file remote_ip:remote_file

                第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名; 

                第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
        * 例子:
                scp /home/space/music/1.mp3
                scp /home/space/music/1.mp3
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

* 复制目录:
        * 命令格式:
                scp -r local_folder
                或者
                scp -r local_folder remote_ip:remote_folder

                第1个指定了用户名,命令执行后需要再输入密码; 

                第2个没有指定用户名,命令执行后需要输入用户名和密码; 

        * 例子: 

                scp -r /home/space/music/
                scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

                上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录

======

#sudo ls

3,4tar打包工具

从 远程 复制到 本地

从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;

例如: 

        scp /home/space/music/1.mp3
        scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

最简单的应用如下 :

scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2

[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .

可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

-C 使能压缩选项 .

-P 选择端口 . 注意 -p 已经被 rcp 使用 .

-4 强行使用 IPV4 地址 .

-6 强行使用 IPV6 地址 .

注意两点:

1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

scp远程拷贝

SSH提供了一些命令和shell用来登录远程服务器。在默认情况下它不允许你拷贝文件,但是还是提供了一个"scp"命令。假定你想把本地计算机当前目录下的一个名为"dumb"的文件拷贝到远程服务器www.foobar.com上你的家目录下。而且你在远程服务器上的帐号名为"bilbo"。可以用这个命令:
scp dumb bilbo@www.foobar.com:.
把文件拷贝回来用这个命令:
scp .

    scp命令是SSH中最方便有用的命令了,试想,在两台服务器之间直接传送文件,仅仅用scp一个命令就完全解决了。

你可以在一台服务器上以root身份运行#scp servername:/home/ftp/pub/file1 . 这样就把另一台服务器上的文件/home/ftp/pub/file1直接传到本机器的当前目录下,当然你也可以用#scp /tmp/file2 servername:/boot 把本机上的文件
/tmp/file2送到另一台机器的/boot目录下。

而且整个传送过程仍然是用SSH加密的。

1:拷贝本地文件到远程机器上:

scp 本地文件名 账号@192.168.80.80:远程机器目录

例:scp /home/test

2:拷贝远程机器上的文件到本地:

scp 账号@192.168.80.80:文件全路径 本地目录

例:scp /home/testdir/

scp ./
scp /home/cheney/full.tar.gz
scp -r * ./ (拷贝整个目录下的所有文件)

需要输入相应的用户名和密码

scp是有Security的文件拷贝,基于ssh登录。

不同的Linux之间拷贝文件常用有3种方法:

第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的拷贝。
第二种方法就是采用samba服务,类似Windows文件复制的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件拷贝。

以上内容是本文关于scp命令详解全部内容,希望对大家有所帮助。

su shiyanlou

创建一个tar包  $ tar -cf shiyanlou.tar ~

您可能感兴趣的文章:

  • linux使用scp命令备份文件 scp拷贝文件
  • linux拷贝命令之高级拷贝scp命令详解
  • Shell中使用scp命令实现文件上传代码
  • linux中scp命令和scp命令用法大全

groups lilei

-c表示创建一个 tar 包文件

sudo usermod -G sudo lilei

-f 用于指定创建的文件名

groups lilei

常用命令:

删除用户

zip:

sudo deluser lilei --remove-home

打包 :zip something.zip something (目录请加 -r 参数)

 

解包:unzip something

二、Linux 文件权限

指定路径:-d 参数

1.查看文件权限

tar:

ls -A 查看隐藏文件

打包:tar -zcvf something.tar something

ls -Al

解包:tar -zxvf something.tar

 

指定路径:-C 参数

ls -dl <目录名> //查看某一个目录的完整属性,而不是显示目录里面的文件属性:

ls -AsSh 显示所有文件大小,并以普通人类能看懂的方式呈现 、其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。

2.变更文件所有者

sudo chown shiyanlou iphone6

 

3.修改文件权限

chmod 700 iphone6

 

Linux 目录结构及文件基本操作

一、Linux 目录结构

1.FHS 标准 //文件系统层次结构标准

FHS 定义了两层规范,

第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。

第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。

 

2.目录路径

绝对路径 //关于绝对路径,简单地说就是以根"/"目录为起点的完整路径,以你所要到的目录为 终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。

相对路径 // 相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点

 

二、Linux 文件的基本操作

1.新建

cd ~

touch test

 

新建目录

//文件夾

mkdir -p father/son/grandson

2.复制

复制文件

cp [文件] [目標地址]

 

复制目录

cp -r [文件夾] [目標文件夾/沒有將創建]

本文由巴黎人手机版发布于巴黎人-服务器,转载请注明出处:使用方式,3  查找指定文件

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文