#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|-J|-z][cv][-f newfilename]filename/folder 打包与压缩(-j:tar.bzip2| -z:tar.gzip|-J:tar.xz)
[-j|-J|-z][tv][-f newfilename] 查看文件名(-j:tar.bzip2| -z:tar.gzip|-J:tar.xz)
[-j|-J|-z][xv][-f newfilename] [-c folder] 解压缩(-j:tar.bzip2| -z:tar.gzip|-J:tar.xz)
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
10.数据流重定向
10.1 标准输出:
1>(或>) :以覆盖的方式将正确的数据输出到指定的文件或设备上;
1>>(或>>) :以累加的方式将正确的数据输出到指定的文件或设备上;
10.2 标准错误输出:
2> :以覆盖的方式将错误的数据输出到指定的文件或设备上;
2>> :以累加的方式将错误的数据输出到指定的文件或设备上;
10.3 标准输入域:
< :需要用键盘输入的信息有文件替代;
<< :结束输入;
eg:
[root@www ~]# cat >catfile<<"eof"
>This is a test.
>OK now stop
>eof(结束输入而不需[ctrl]+d)
10.4 2>&1理解
常用方式:command >file 2>&1
2:代表错误输出
2>:代表将错误输出重定向到某个文件
1:代表标准输出
2>1:代表将错误输出信息重定向到1文件
2>&1:代表将错误输出信息重定向到标准输出文件
为什么2>&1必须放在后面?
首先是command > file将标准输出重定向到file中, 2>&1 是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。
10.5 命令执行的判断依据:;,&&,||
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"
判断哪个才是正确的做法呢?
11 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
12 ubuntu 版本查看命令
cat /etc/issue
cat /proc/version
uname -a
cat /etc/lsb-release
lsb-release
13 file
file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。