您的位置:首页 > 运维架构 > Linux

Linux 常用命令

2015-08-20 15:36 585 查看

Linux 常用命令

1. tar

-zxvf  解压.tar.gz 或.tar.xz文件
-jxvf  解压.tar.bz2
-jcv -f filename.tar.bz2 filename/folder 压缩文件或文件夹为bzip2格式
-xvJf filename.tar.xz 解压.tar.xz文件
常用功能:
[-j|-z][cv][-f newfilename]filename/folder 打包与压缩
[-j|-z][tv][-f newfilename] 查看文件名
[-j|-z][xv][-f newfilename] [-c folder] 解压缩


2.rm

-rf   递归删除内容


3.dpkg

-i    安装deb包


4.ln

-s f1 f2 创建f1的一个符号连接文件f2


5.apt-get

apt-get purge softwarename 彻底卸载 softwarename
apt-get install softwarename 安装 softwarename


6.cp

cp  $(< file-list-file)  dst-dir
复制file-list-file中列出的文件到dst-dir目录下

也可以通过xargs命令实现:xargs -a list mv -t dir
cat list.txt | xargs -J % cp % new_folder

cp -p :实现复制文档连同文档的属性,而不是预设属性


7.tee

ls | tee ls.log     即把标准输出保存到ls.log中,又显示在屏幕上
ls "*" 2>&1|tee ls.log  把标准输出和标准错误输出保存到ls.log,又显示在屏幕上

tee file        //覆盖
tee -a file     //追加
tee -           //输出到标准输出两次
tee - -         //输出到标准输出三次
tee file1 file2 -    //输出到标准输出两次,并写到那两个文件中


8.du

-h              //以k,m,g为单位,提高可读性
--max-depth=x   //显示指定x层数目录的大小,超过的予以忽略
-s              //显示总计大小


9.update alternative

update-alternatives --display editor   //可以看到我的机器上的所有可以用来被 editor 链接的命令。

update-alternatives --config editor    //选择一个editor作为默认editor执行

update-alternatives --auto editor   //将alternative 变为自动
update-alternatives 在一般情况下是由postinst 和 prerm 这样的安装脚本自动调用的,所以alternative 的状态有两种:自动和手动。

update-alternatives --install   //添加一个alternative
格式:
update-alternatives --install gen link alt pri [--slave sgen slink salt] ...
gen [general name] -- 这是指一系列功能相似的程序的“公用”名字(包括绝对路径),比如 /usr/bin/editor。
link -- 这是指一个 alternative 在 /etc/alternative 中的名字,比如 editor。
alt [alternative] -- 顾名思义,这是指一个可选的程序所在的路径(包括绝对路径),比如 /usr/bin/vim。
pri 优先级  越高越好
--slave    如果需要从的 alternative,你可以用 加在后面。如果你在向一个已经存在的 alternative 组中添加新的 alternatives,该命令会把这些 alternatives 加入到这个已经存在的 alternative 组的列表中,并用新的可选命令作为新的命令;否则,将会建立一个新的自动的 alternative组。
例:
sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_03/bin/java 300

update-alternatives --remove name path    //删除错误的alternative


数据流重定向

标准输出:

1>(或>)   :以覆盖的方式将正确的数据输出到指定的文件或设备上;
1>>(或>>) :以累加的方式将正确的数据输出到指定的文件或设备上;


标准错误输出:

2>  :以覆盖的方式将错误的数据输出到指定的文件或设备上;
2>> :以累加的方式将错误的数据输出到指定的文件或设备上;


标准输入域:

<  :需要用键盘输入的信息有文件替代;
<< :结束输入;

eg:
[root@www ~]# cat >catfile<<"eof"
>This is a test.
>OK now stop
>eof(结束输入而不需[ctrl]+d)


命令执行的判断依据:;,&&,||

cmd;cmd
不考虑命令相关性的连续命令执行

$?
命令回传码,命令执行完毕且正确执行返回$?=0;若执行完毕且为错误,则返回$?≠0。

cmd1&&cmd2
若cmd1执行完毕且正确执行,则开始执行cmd2;若cmd1执行完毕且为错误,则不执行cmd2。

cmd1||cmd2
若cmd1执行完毕且正确执行,则不执行cmd2;若cmd1执行完毕且为错误,则开始执行cmd2。

eg:
ls /tmp/vbirding&& echo "exist"||echo "not exit"
ls /tmp/vbirding|| echo "exist"&&echo "not exit"
判断哪个才是正确的做法呢?


linux 访问局域网 windows共享目录方法

1.首先在mnt夹下建立共享文件夹,如share。
2.加载Windows系统的共享文件夹
在Linux命令行下访问Windows共享文件夹的命令是:
mount -t cifs -o username=windowsusername //windows machine/sharefiles /mnt/localfolder
如:mount -t cifs -o username=guest,password=//192.168.1.102/mtv /mnt/share
其中:
windowsusername : Windows用户名
windows machine :Windows机器名
sharefiles :Windows共享文件夹名
然后就可以在 /mnt/localfolder 下访问Windows内容。
另外使用如下命令也可以在命令行环境查看Windows机器上的共享文件目录。
[root@localhost root]# smbclient -L //192.168.1.100
注:使用的是大写的L。
连接成功以后会显示WIndows机器上的共享文件目录的情况,然后继续mount共享文件夹就可以了。
3.取消访问命令:umount /mnt/localfolder
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: