【Linux】第一章 Linux基础命令

上一篇 / 下一篇  2015-04-01 10:55:29 / 个人分类:Linux知识


ls

-l

列出所有信息,权限,时间等

深蓝色:目录

黑色:文件

绿色:tar.gz?

红色:zip?

 

-a

所有,包含隐藏文件

 

 

-d

只显示目录??

ls-ald

 

-t

按时间排序

默认按文件名

tree

 

显示文件目录的树形结构

 

 

-L 2

显示到几级目录

 

mkdir

-p

带子目录创建

mkdir -p dir1/dir2

 

Dir1 dir2

同时创建两个目录

 

cp

 

cp -risl src dest

 

 

File1 file2

复制文件

cp f1 f2

 

Dir/* .

复制目录下的所有文件。

 

 

-r

复制

cp -r tdir1 tdir2

cd

 

进入用户主目录

/home/ex-zy002

 

~ex-zy002

同上

 

 

..

上级目录

 

 

./

当前目录

 

 

tmp

 

 

 

-

返回上次操作的目录

 

pwd

 

显示当前工作路径

跳转了很多级时使用

rm

file1

删除文件

 

 

-rfdir

递归删除,包括子目录和文件

 

rmdir

dir

删除目录

 

find

/ -name file1

根据文件名查找

 

 

/ -user user1

查找用户的文件

 

 

/ -user

 

 

 

Whereis/which

二进制文件查找

 

hostname

 

 

 

ifconfig eth0

 

显示一个以太网卡的配置

 

 

 grep -c 'area99' *.out

匹配字符串

 

 

 

用户和群组

groupadd group_name创建一个新用户组

groupdel group_name删除一个用户组

groupmod -n new_group_name old_group_name重命名一个用户组

useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1创建一个属于"admin"用户组的用户

useradd user1创建一个新用户

userdel -r user1删除一个用户( '-r'排除主目录)

usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1修改用户属性

passwd修改口令

passwd user1修改一个用户的口令(只允许root执行)

chage -E 2005-12-31 user1设置用户口令的失效期限

pwck检查'/etc/passwd'的文件格式和语法修正以及存在的用户

grpck检查'/etc/passwd'的文件格式和语法修正以及存在的群组

newgrp group_name登陆进一个新的群组以改变新创建文件的预设群组

 

文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消

ls -lh 显示权限

ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示

chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限

chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限

chown user1 file1 改变一个文件的所有人属性

chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性

chgrp group1 file1 改变文件的群组

chown user1:group1 file1 改变一个文件的所有人和群组属性

find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件

chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限

chmod u-s /bin/file1 禁用一个二进制文件的 SUID位

chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的

chmod g-s /home/public 禁用一个目录的 SGID 位

chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件

chmod o-t /home/public 禁用一个目录的 STIKY 位

 

文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消

chattr +a file1 只允许以追加方式读写文件

chattr +c file1 允许这个文件能被内核自动压缩/解压

chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件

chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接

chattr +s file1 允许一个文件被安全地删除

chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘

chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件

lsattr 显示特殊的属性

 

打包和压缩文件

bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件

bzip2 file1 压缩一个叫做 'file1' 的文件

gunzip file1.gz 解压一个叫做 'file1.gz'的文件

gzip file1 压缩一个叫做 'file1'的文件

gzip -9 file1 最大程度压缩

rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包

rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'

rar x file1.rar 解压rar包

unrar x file1.rar 解压rar包

tar -cvf archive.tar file1 创建一个非压缩的 tarball

tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件

tar -tf archive.tar 显示一个包中的内容

tar -xvf archive.tar 释放一个包

tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下

tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包

tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包

tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包

tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包

Zip-rfile1.zip file1 创建一个zip格式的压缩包

zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包

unzip file1.zip 解压一个zip格式压缩包

 

RPM 包 - (Fedora, Redhat及类似系统)

rpm -ivh package.rpm 安装一个rpm包

rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告

rpm -U package.rpm 更新一个rpm包但不改变其配置文件

rpm -F package.rpm 更新一个确定已经安装的rpm包

rpm -e package_name.rpm 删除一个rpm包

rpm -qa 显示系统中所有已经安装的rpm包

rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包

rpm -qi package_name 获取一个已安装包的特殊信息

rpm -qg "System Environment/Daemons" 显示一个组件的rpm包

rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表

rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表

rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表

rpm -q package_name --whatprovides 显示一个rpm包所占的体积

rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l

rpm -q package_name --changelog 显示一个rpm包的修改历史

rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供

rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表

rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书

rpm --checksig package.rpm 确认一个rpm包的完整性

rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性

rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间

rpm -Va 检查系统中所有已安装的rpm包- 小心使用

rpm -Vp package.rpm 确认一个rpm包还未安装

rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件

rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包

rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

 

YUM 软件包升级器 - (Fedora, RedHat及类似系统)

yum install package_name 下载并安装一个rpm包

yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系

yum update package_name.rpm 更新当前系统中所有安装的rpm包

yum update package_name 更新一个rpm包

yum remove package_name 删除一个rpm包

yum list 列出当前系统中安装的所有包

yum search package_name 在rpm仓库中搜寻软件包

yum clean packages 清理rpm缓存删除下载的包

yum clean headers 删除所有头文件

yum clean all 删除所有缓存的包和头文件

 

DEB 包 (Debian, Ubuntu 以及类似系统)

dpkg -i package.deb 安装/更新一个 deb 包

dpkg -r package_name 从系统删除一个 deb 包

dpkg -l 显示系统中所有已经安装的 deb 包

dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包

dpkg -s package_name 获得已经安装在系统中一个特殊包的信息

dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表

dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表

dpkg -S /bin/ping 确认所给的文件由哪个deb包提供

 

APT 软件工具 (Debian, Ubuntu 以及类似系统)

apt-get install package_name 安装/更新一个 deb 包

apt-cdrom install package_name 从光盘安装/更新一个 deb 包

apt-get update 升级列表中的软件包

apt-get upgrade 升级所有已安装的软件

apt-get remove package_name 从系统删除一个deb包

apt-get check 确认依赖的软件仓库正确

apt-get clean 从下载的软件包中清理缓存

apt-cache search searched-package 返回包含所要搜索字符串的软件包名称

 

文本处理

cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT

cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中

cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中

Cat -b *.txt:对非空白行编号。Cat -n *txt:对所有行编号

Cat>*.txt:创建文件

grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"

grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇

grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行

grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"

sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"

sed '/^$/d' example.txt 从example.txt文件中删除所有空白行

sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行

echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容

sed -e '1d' result.txt 从文件example.txt 中排除第一行

sed -n '/stringa1/p' 查看只包含词汇 "string1"的行

sed -e 's/ *$//' example.txt 删除每一行最后的空白字符

sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部

sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容

sed -n '5p;5q' example.txt 查看第5行

sed -e 's/00*/0/g' example.txt 用单个零替换多个零

cat -n file1 标示文件的行数

cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行

echo a b c | awk '{print $1}' 查看一行第一栏

echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏

paste file1 file2 合并两个文件或两栏的内容

paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分

sort file1 file2 排序两个文件的内容

sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)

sort file1 file2 | uniq -u 删除交集,留下其他的行

sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)

comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容

comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容

comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

 

统计

 


TAG: Linux

 

评分:0

我来说两句

Open Toolbar