①.、ls命令
ls是list的缩写,常用命令为ls(显示出当前目录列表),ls -l(详细显示当前目录列表),ls -lh(人性化的详细显示当前目录列表),ls -a(显示出当前目录列表,包含隐藏文件)
cd是change direcory的缩写,常用命令为 cd 目录,cd ..为返回上级目录,cd - 返回上次所在目录
常用命令为pwd 显示当前所在目录
mkdir命令为创建空目录命令,通常用法为mkdir 目录名,mkdir -p 目录名/目录名 可以递归创建多个不存在的目录
rm为删除命令remove,rm 文件,谨慎操作
rm为删除命令remove direcory,rm 目录,谨慎操作
mv命令move,移动剪切命令,mv 文件 目录,mv 文件 文件(会覆盖)
cp命令为copy命令,复制文件或目录到别的目录里面,cp 文件/目录 目录/文件
touch命令创建空文件,比如touch xx.txt,touch 目录 文件
①.0、cat命令
①.1、nl命令
nl命令 为文件加入显示行号,nl 文件名,nl -b a 文件名,将空行也加如行号
less命令查看文件内容,可以上下翻页,less 文件名
which 可以执行文件名称,显示路径
whereis -m svn 查出说明文档路径,whereis -s svn 找source源文件.
locate /etc/m 搜索ect目录下所有m开头的文件
find . -name "*.log"根据关键字查找
ls -l命令放在find命令的-exec选项中 find . -type f -exec ls -l {} ;
find . -type f -print | xargs file查找系统中的每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件
详细的文件属性
Linux中最危险的10个命令
对于编程人员或或者Linux系统管理员来说,操作Linux系统最常见的方法就是使用命令行.当然,Linux命令行佷有用、很高效,但有时候也很危险,尤其是在你误操作或者不确定你自己在正在做什么的时候.下面我就为大家盘点最危险是10个命令,一起来看看吧!
当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普 通用户身份下,破坏的只是自己的一亩三分地.
① rm -rf 命令
rm -rf命令是删除文件夹及其内容最快的方式之一.仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏.下列是一些rm 命令的选项.
rm 命令在Linux下通常用来删除文件.
rm -r 命令递归的删除文件夹,甚至是空的文件夹.(译注:个人认为此处应该是说错了,从常识看,应该是"甚至是非空的文件夹")
rm -f 命令能不经过询问直接删除'只读文件'.(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限.所以,-f这个参数 只是表示不必一个个删除确认,而是一律悄悄删除.另外,原始的rm命令其实也是没有删除提示的,只是一般的发行版都会将rm通过别名的方式增加-i参数来 要求删除确认,而-f则抑制了这个提示.)
rm -rf / : 强制删除根目录下所有东东.(就是说删除完毕后,什么也没有了...)
rm -rf *: 强制删除当前目录的所有文件.
rm -rf . : 强制删除当前文件夹及其子文件夹.
从 现在起,当你要执行rm -rf命令时请留心一点.我们可以在".bashrc"文件对'rm'命令创建rm -i的别名,来预防用 'rm'命令删除文件时的事故,它会要求你确认每一个删除请求.(译注:大多数发行版已经这样做了,如果还没有,请这样做,并在使用-f参数前一定考虑好 你在做什么!译者本人有着血泪的教训啊.)
这就是个fork 炸弹的实例.具体操作是通过定义一个名为 ':'的函数,它会调用自己两次,一次在前台另一次运行在后台.它会反复的执行下去直到系统崩溃.
:(){:|:};:
哦?你确认你要试试么?千万别在公司正式的服务器上实验啊~~
上列命令会将某个'命令'的输出写到块设备/dev/sda中.该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失.
这 个命令会移动某个'文件夹'到/dev/null.在Linux中 /dev/null 或 null 设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功.(译注:这就是黑洞啊.当然,要说明的是,通过将文件夹移动到黑洞,并不能阻止 数据恢复软件的救赎,所以,真正的+彻底毁灭,需要采用专用的软件或者手法来完成——我知道你肯定有些东西想删除得干干净净的.)
# mv /home/user/* /dev/null
上列命令会将User目录所有内容移动到/dev/null,这意味着所有东西都被'卷入'黑洞 (null)之中.
上列命令常用来清空文件内容(译注:通常也用于记录命令输出. 不过请在执行前,确认输出的文件是空的或者还不存在,否则原来的文件可真是恢复不了了——连数据恢复软件都未必能帮助你了.另外,我想你可能真正想用的是 "",即累加新的输出到文件,而不是刷新那个文件.).如果用上列执行时输入错误或无知的输入类似 "xt.conf" 的命令会覆盖配置文件或其他任何的系统配置文件.
上列命令会向块设备sda写入随机的垃圾文件从而擦出数据.当然!你的系统可能陷入混乱和不可恢复的状态.(译注:记得上面说过mv到黑洞并不能彻底删除数据么?那么这个命令就是给了你一个彻底删除的方法!当然为了保险起见,你可以覆写多次.)
①.0. 隐藏命令
下面的命令其实就是上面第一个命令 (rm -rf).这里的代码是隐藏在十六进制里的,一个无知的用户可能就会被愚弄.在终端里运行下面命令可能会擦除你的根分区.
注意: 不要在你的或你的同学或学校的电脑里的Linux终端或Shell执行以上的任何一个命令,因为这将导致数据丢失或者系统崩溃.如果你想测试它们,请在虚拟机上运行.
;
①首先展示如何隐藏文件夹.(文件和文件夹的操作方法完全一致,后面就略掉了.)假如在你的Home目录下有个Pythonar目录,里面有个文件夹叫"看不见".
cd /root
ls #显示当前目录下所有的非隐藏文件
ls -a #显示当前目录下所有文件,包含隐藏文件
ls -l #显示当前目录下所有的非隐藏文件的详情
ls -al #显示当前目录下所有文件,包含隐藏文件 的详情
ls -lh #以列表形式显示当前目录下所有的非隐藏文件的大小(K M T)
ls -alh #以列表形式显示所有文件,包含隐藏文件的文件大小(K M T)
常用的组合:
ls
ll #等价于 ls -l
ls /etc #显示/etc目录下的文件
用来显示当前所在的路径
绝对路径: 从/目录开始的路径
/root
/etc/sysconf
相对路径: 相对当前的路径
mkdir mytest #在当前目录创建文件夹
mkdir /root/mydemo #使用绝对路径来创建
这个命令既可以删除文件,也可以删除目录
删文件:
rm a.txt #删除时,会给出提醒确认,输入y删除,n不删除
rm -f b.txt #强制删除 等价于 rm -f /root/b.txt
touch a.java b.java c.java
rm a.java b.java c.java #一次可以删除多个文件
rm *.java -fr #可以删除当前目录下的所有.java文件
cd dir
rm * -fr #删除当前目录的所有内容
删目录:
rm -r 111 #删除目录,依次提醒删除
rm -rf mytest #强制删除 等价于 rm mytest -fr
常用组合:
rm -fr 文件或目录
cd 命令可以进入一个目录,类似于对windows上的文件夹进行双击
cd #直接cd 可以从任何一个目录回到/root目录
cd /root #进入root目录
cd /opt/server/data-integration/system/
cd .. #回到上一级目录
cd ../.. #回到上上一级目录
cd - #可以在最近的两次目录之间切换
cd dir1
使用上下方向键可以找出历史命令
table键:
cd /opt/ #两次table可以列出/opt目录下所有的文件和子目录
cd /opt/s #一次table可以自动补全目录内容,前提是/opt目录下只有一个s开头的目录
touch a.java #在当前目录创建a.txt文件
touch b.java c.java #创建多个文件
touch /root/d.java #通过绝对路径创建
移动:
①.、mv 文件 目录 #将文件移动到目录中区
cd /root/dir1
touch a.txt
重命名:
mv a.txt aaa.txt #将a.txt 重命名为aaa.txt
mv dir1 dirx #将dir1重命名为dirx
显示文件内容
cat user.txt
①.0、cp命令
复制文件
cp user.txt /opt/ #将当前目录的user.txt 复制到/opt目录,文件名保持不变
cp /opt/server/data-integration/pan.sh ./ #将指定目录里的文件复制到当前目录(.后边的/可以去掉)
cp /opt/server/data-integration/pan.sh ./dirx #将指定目录里的文件复制到当前目录下的dirx目录(.后边的/比可以去掉)
cp /opt/server/data-integration/pan.sh /root/dirx #作用同上
①.1、解压和压缩
Linux的压缩包后缀一般是: .tar.gz
解压:
.tar.gz
将snappy-1.1.1.tar.gz上传到/root/dir1目录
tar -zxvf snappy-1.1.1.tar.gz #默认解压到当前目录
tar -xvf snappy-1.1.1.tar.gz #默认解压到当前目录
tar -xvf snappy-1.1.1.tar.gz -C /opt #将压缩包解压到/opt目录
.zip格式
压缩:
tar -czvf snappy-1.1.1.tar.gz snappy-1.1.1 #将snappy-1.1.1文件夹进行打包压缩
tar -czvf /root/dir/snappy-1.1.1.tar.gz /opt/server/snappy-1.1.1
用来实现文件的查找
find / -name 'a.txt' #从/目录开始查找a.txt文件
find / -name 'ins*' #从/目录开始查找以ins开头的文件
find / -type f -size +100M #查找/目录下文件大小大于100M的文件
grep lang anaconda-ks.cfg #从anaconda-ks.cfg文件中查找包含lang的内容
ps #查看依赖终端的进程
ps -ef #查看Linux系统中所有的进程
管道就是把前边命令的结果作为后边命令的输入
ps -ef | grep mysql #查找和mysql相关的进程
ll /etc | grep java #在/etc目录中查找java相关的文件
用户创建和密码设置
useradd itheima #创建新用户itheima
passwd itheima #设置用户itheima密码
用户删除
userdel -r itheima #删除用户itheima
所属用户: root 文件的创建者
所属用户组: root 和文件创建者在一个组的用户
其他用户: itcast 既不是文件创建者,也和文件创建者不在同一组
r: 可读
w:可写
x: 可执行
chmod命令:
方式1:
chmod u+rw a.txt #在所属用户之前的权限基础上添加可读和可写权限
chmod u=rw a.txt #将所属用户的权限直接修改为可读,可写
chmod +x #给所属用户,所属用户组和其他用户全部加上可执行权限
用来清屏
快捷键: ctrl + l
用来查看所有的历史命令
vi a.txt #打开a.txt文件
vim a.txt #vim是vi的增强
hostname :查看主机名
修改主机名: /etc/hostname
ifconfig :查看ip地址
服务问题:
service network restart
关于在 UNIX/Linux 系统下面,任何人都无法隐藏命令行参数.因为它们的命令、以及相关的各种参数都是标准的,任何一个如果想学习 UNIX/Linux 系统的人,都能够找到相关的命令使用文档(例如:显示文件名及其子目录名的命令:ls ,它就有各种参数,只要想学习该命令的使用,那么谁也无法隐藏命令行参数).
除非该人是一个精通UNIX/Linux 操作系统内核底层编程的人员,那么他当然可以实现隐藏命令行参数的目的.例如:他可以通过修改 Linux 系统有关 ls 命令使用的这部分内核源代码,达到让任何用户使用 man ls 时,不显示出来 ls 命令到底都有哪些参数可以使用.