一 : 在Linux操作系统下防范黑客几个实用技巧
好多人都在学习Linux操作系统,当我们在应用Linux操作系统上网时,也许会遇到黑客的攻击,本文为你介绍Linux操作系统下防范黑客的一些实用技巧。Linux是一个多用户的系统,一旦人家取得你的root用户之后,他就可以在你的系统上为所欲为了,由于单用户对系统有完全的控制权限,如果操作不当或被他人进入,那么后果将不堪设想,如何防止入行单用户了,有以下几个注意的方面。
1、对/etc/inittab文件进行保护,如果把id:3:initdefault中的3改为成1,就可以每次启动直接进入到单用户方式。对/etc/inittab文件,以root身份进入通过chown 700 /etc/inittab把属性设为其它用户不能修改就行了。
2、如果是使用的lilo方式进行引导,可能通过linuxconf或直接修改lilo.conf把引导时等待输入时间设置为0或最短时行。这种情况下,如果进入单用户方式,可以用软盘进行引导。
3、如果使用是GRUB方式进行引导,最简单的方法是使用GRUB密码,对启动选项进行保护。
4、为了防止他人远程进行破坏,使系统重启,除了对ROOT的密码和/etc目录下的文件进行有效管理之外,还应当对CMOS进行密码设置,这样即使把系统改成单用户方式了,也无法直接的启动计算机进行操作。
这样你就学会了Linux操作系统下防范黑客的一些实用技巧,更好的上网遨游了。
二 : Linux系统下Git操作命令整理
1.显示当前的配置信息
git config --list
2. 创建repo
从别的地方获取
git clone git://git.kernel.org/pub/scm/git/git.git
自己建立
mkdir test
cd test
git init
3. 显示状态
git status
4. commit
git add file.1 file.2 先增加文件,增加到index中。这样commit的时候才知道要commit哪些文件。
或者
git add -p
用来interactively选择哪些改变需要被commitgit commit -m "log message"
或者
git commit -a
自动检查应该commit什么文件。如果是新增的文件,仍然要使用git add来添加。5. 显示以前的工作
git log
输出格式git log
git log -p
显示patchgit log --stat
显示改动的一个总结git log --graph
只显示当前branch的git log --graph --all
显示所有branch的git log --graph --all --decorate
显示branch的名字
git log --pretty=oneline, short, full, fuller
git log --pretty=format:"%h - %an, %ar : %s"
关于--pretty的其他选项和具体的format格式,参考 git log --help中PRETTY FORMAT这部分。
git log --follow file.c
这个功能很有意思,尤其是当file.c被移动后。
通常我们会移动某个文件到某个目录下。如果这么做,git log是不能显示目录移动前的记录的。
那就加上 --follow吧。
git log的筛选
git log -2 -p 显示最近两次commit的log 和 diff
git log --author="Author Name" 筛选特定作者的log
git log --since="2012-2-23" --before="2012-2-24" 筛选时间段
git log --grep="key word" 在commit 的message中查找关键字
git log branch --not master 查看在branch上的,但不在master上的记录。
git log -S"func_name" 查找某个字符出现,或者移出的commit。 比如可以查找一个函数是什么时候添加,或者删除的。
git show sha1 这个sha1是每个commit的sha1,这样显示某个commit的完全信息,包括diff
6. 撤销改动
git checkout -- file.1
撤销了file.1的这次改动。只是撤销了没有staged的改动.
中间的 -- 表明了这是一个文件 而不是一个branch的名字
git reset --hard HEAD
撤销了所有没有commit的改动,包括了stage的和没有stage的。
这条命令的结果一样
git checkout HEAD file.1
包括了staged 和没有staged的都会清除。
有时候我们发现,之前做个一个commit有问题,不想要,想要去掉。
git revert HEAD 自动得重新做一个commit,将最后一次的commit返回回来。
git revert HEAD^ 自动得重新做一个commit,将最后第二次的commit 返回回来。
7. 删除一个commit
git reset --hard HEAD~1
删除了最近的commit
8. 修改最近的一个commit
git commit --amend
7.显示所做的改动
git diff
显示所有的改动。 没有add到index中的。
git diff --staged或者 git diff --cached
显示staged改动,也就是add的东东,也就是将要commit的东东。
git diff commit1 commit2
显示这两个commit之间的变动, 从commit1到commit2的变动。
git diff commit1..commit2
两个点,效果跟上面的一样
git diff commit1...commit2
三个点,表示的是发生在commit2分支,一直到commit1和commit2共同父亲的变化。
git blame -C file1.c
显示文件具体的改动。。。。恩,好像是用来找是谁的错?
git blame -Ln,m file1.c
查看n,m两行间的改动。
git blame commit1~1 -Ln,m file1.c
查看commit1版本前的改动. 追查之前的log。
git blame commit1~1 -Ln,m -- old/file.c
如果这个文件被重命名过,或者移动过位置,就要输入旧的文件的名字。
而且一定要加上 -- , 一定。
8. 删除某个文件
git rm file-name
从库和当前的working directory中删掉这个文件
git rm --cached file-name
只从库中删除,保留当前的本地文件。
9. 重命名一个文件
git mv file file-new
10. 应用patch
git apply patch-file
这样做从patch-file中应用这个patch。 效果和patch命令类似。
但是好处是,git apply要么成功,要么不成功。不想patch,有可能有部分的patch打上了,但是有的没有打上。
git apply后,并没有自动生成一个commit.
git apply --check 可以用来检测这个patch 是不是会产生冲突或者失败。
git am patch-file
这是专门为git 设计的命令。 patch-file是通过git format-patch 生成的。
其中包含了作者信息和简单描述。
git am后,会自动的生成一个commit.
git am --resolved
git am 过程中可能会有conflict. 如过遇到conflict, 那就需要手动修改code, git add 后
用git am --resolved
11 删除一些没有git add的文件;
git clean
参数
-n 显示将要删除的文件和目录
-f 删除文件
-df 删除文件和目录
git clean -df alps/
git remote
git是一个分布式代码管理工具,所以可以支持多个仓库,在git里,服务器上的仓库在本地称之为remote。
直接clone一个仓库:
$: git clone git@search.ued.taobao.net:projects/search.git
另外一种clone方式:
# 创建目录初始化本地仓库
$: mkdir search && cd search
$: git init
# 添加远程仓库路径
$: git remote add github git@github.com:yyfrankyy/search.git
# 实际上,pull 就是 fetch + merge
$: git pull github --all --tags
把工作目录迁移到github上面:
$: git remote add github git@github.com:yyfrankyy/search.git
$: git push github --all --tags
显示所有的远程仓库
$: git remote -v
origin git@search.ued.taobao.net:projects/search.git (fetch)
origin git@search.ued.taobao.net:projects/search.git (push)
github git@github.com:yyfrankyy/search.git (fetch)
github git@github.com:yyfrankyy/search.git (push)
重命名远程仓库
$: git remote rename github gh
$: git remote
origin
gh
删除远程仓库
$: git remote rm github
$: git remote
origin
从远程仓库抓取数据,更新本地仓库:
$: git fetch origin
remote: Counting objects: 58, done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 44 (delta 24), reused 1 (delta 0)
Unpacking objects: 100% (44/44), done.
From git://search.ued.taobao.net:projects/search.git
* [new branch] product -> origin/product
查看远程仓库信息,可用于跟踪别人的push:
$: git remote show origin
* remote origin
Fetch URL: git@search.ued.taobao.net:projects/search.git
Push URL: git@search.ued.taobao.net:projects/search.git
HEAD branch: master
Remote branches:
master tracked
p4popt tracked
prepub tracked
product tracked
Local branches configured for 'git pull':
master merges with remote master
p4popt merges with remote p4popt
prepub merges with remote prepub
product merges with remote product
Local refs configured for 'git push':
master pushes to master (up to date)
p4popt pushes to p4popt (up to date)
prepub pushes to prepub (up to date)
product pushes to product (up to date)
三 : Linux系统中下载文件的wget命令操作实例
wget是Linux系统中用来下载文件的工具,其功能还是比较多的,能够下载单个文件,也可以分段下载,下面小编将针对wget命令的用法给大家做个实例介绍。
实例:
实例1 :下载单个文件
# wget http://mirror.nbrc.ac.in/CentOS/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
该命令会下载CentOS 7 ISO文件到用户当前工作目录中。
实例2:续传分段下载文件
总有那么一些场景,当我们开始下载一个大文件时,中途互联网却断开了。那样的话,我们可以使用wget命令的‘-c’选项,让下载从断点续传。
# wget -c http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
实例3:后台下载文件
我们可以通过在wget命令中使用‘-b’选项来让它在后台下载文件。
linuxtechi@localhost:~$ wget -b http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/
CentOS-7.0-1406-x86_64-DVD.iso
Continuingin background, pid 4505.
Output will be written to ‘wget-log’。
正如我们上面所见,下载进程被捕获到用户当前目录中的‘wget-log’文件中。
linuxtechi@localhost:~$ tail -f wget-log
2300K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%48.1K18h5m
2350K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%53.7K18h9m
2400K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%52.1K18h13m
2450K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%58.3K18h14m
2500K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%63.6K18h14m
2550K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%63.4K18h13m
2600K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%72.8K18h10m
2650K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%59.8K18h11m
2700K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%52.8K18h14m
2750K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%58.4K18h15m
2800K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%58.2K18h16m
2850K.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.0%52.2K18h20m
实例4:限制下载速率
默认情况下,wget命令尝试以全速下载,但是有时候你可能使用的是共享互联网,那么如果你尝试使用wget来下载庞大的文件时,就会把其它用户的网络拖慢。这时,你如果使用‘-limit-rate’选项来限制下载速率,就可以避免这种情况的发生。
#wget --limit-rate=100k http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
在上例中,下载速率被限制到了100k。
实例5:使用‘-i’选项来下载多个文件
如果你想要使用wget命令来下载多个文件,那么首先要创建一个文本文件,并将所有的URL添加到该文件中。
# cat download-list.txt
url1
url2
url3
url4
现在,发出以下命令吧:
# wget -i download-list.txt
实例6:增加重试次数
我们可以使用‘-tries’选项来增加重试次数。默认情况下,wget命令会重试20次,直到下载成功。
该选项在你下载一个大文件的过程中互联网连接发生问题时十分有用,因为在那种情况下,会增加下载失败的几率。
# wget --tries=75 http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
实例7:使用-o选项来重定向wget日志到文件
我们可以使用‘-o’选项来重定向wget命令的日志到一个日志文件。
#wget -o download.log http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
上面的命令会在用户当前目录下创建download.log文件。
实例8:下载整个网站用于本地查看
# wget --mirror -p --convert-links -P 。/《Local-Folder》 website-url
鉴于
–mirror : 开启适用于镜像的选项。
-p : 下载所有能正确显示指定HTML网页的全部必要文件。
–convert-links : 下载完成后,转换文档中的链接以用于本地查看。
-P 。/Local-Folder : 保存所有文件和目录到指定的目录。
实例9:下载过程中拒绝文件类型
当你正打算下载整个网站时,我们可以使用‘-reject’选项来强制wget不下载图片。
# wget --reject=png Website-To-Be-Downloaded
实例10:使用wget -Q设置下载配额
我们可以使用‘-Q’选项强制wget命令在下载大小超过特定大小时退出下载。
# wget -Q10m -i download-list.txt
注意,配额不会对单个文件的下载产生影响。所以,如果你指定wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gz,ls-lR.gz 的全部内容都会被下载。这在下载命令行指定的多个URL时也一样。然而,在递归或从一个输入文件检索时,还是值得一用。因此,你可以安全地输入‘wget -Q10m -i download-list.txt’,在超过配额时,下载会退出。
实例11:从密码保护的网站下载文件
# wget --ftp-user=《user-name》 --ftp-password=《password》 Download-URL
另外一种指定用户名和密码的方式是在URL中。
任一方法都将你的密码揭露给了那些运行“ps”命令的人。要防止密码被查看到,将它们存���到.wgetrc或.netrc中,并使用“chmod”设置合适的权限来保护这些文件不让其他用户查看到。如果密码真的很重要,不要在它们还在文件里躺着的时候走开,在Wget开始下载后,编辑该文件,或者删除它们。
上面就是Linux下载工具wget命令的使用实例介绍了,从这些例子中我们可以知道,wget的功能和我们通常使用的迅雷差不多,能够实现限速、多个下载等功能。