程序员必知必会----linux常用命令之一【基础命令】

一.文件处理命令

1.查看目录下的内容:

ls -la /dir :-a显示所有文件,-l显示详细信息

ll /dir

2.查看目录或文件的属性

ll -d /dir :-d只显示目录信息

ll filename

3.切换目录

cd /  :切换到根目录

cd .. :回到上级目录

cd -  :返回到上一个访问的目录

4.查看当前路径

pwd

5.创建空文件

touch filename

6.创建目录

mkdir dir

mkdir -p dir/dir/dir :创建多级目录

7.文件和目录复制

cp sourcefile todir :复制到指定目录,保持原文件名

cp file1 file2 todir :同时复制多个文件到指定目录下

cp sourcefile todir/newfile :复制到指定目录,并重命名文件

cp -R sourcedir todir :复制目录到指定目录下

cp sourcedir/* todir :复制目录下的文件到指定目录

cp -n sourcefile todir :如文件已经存在,则不覆盖

cp -f sourcefile todir :如文件已经存在,则强制覆盖

8.移动文件、重命名

mv file1 file2 :重命名file1为file2

mv file todir :将文件移动到指定目录

mv dir todir :将目录移动到指定目录

mv -n file todir :如有重复,则不覆盖

mv -f file todir :如有重复,则强制覆盖

9.文件和目录删除

rm -f file

rm -rf dir

10.显示文件内容相关

1)cat file:显示文件所有内容

2)more file:分页显示文件内容

下一页:空格

下一行:回车

退出  :q

3)head -20 file:显示文件前20行,默认是10行

4)tail -20 file:显示文件最后20行,默认是10行

tail -f file -n 100:动态显示文件内容,先显示最后100行内容,用于查看日志

11.软链接与硬连接

ln -s file/dir file/dir :软连接

ln file/dir file/dir :硬连接

二.权限管理命令

1.改变文件或目录权限

chmod 777 file/dir

chmod u+x file :赋予文件所有者执行权限

u:文件所有者

g:文件所属组

o:其它用户和组

a:所有用户所有组

+:赋予权限 -:去除权限

r:读权限   文件--可以查看  目录--可以列出目录内容

w:写权限   文件--可以修改  目录--可以在目录中创建、删除文件和目录

x:执行权限 文件--可以执行文件 目录--可以进入目录

注:对于目录,如有r权限,则必须有x权限。

2.改变文件或目录所有者和所属组

chown user file :将file的所有者修改为user

chgrp group file :将file的所属组修改为group

chown -R user.group dir :修改dir及其子目录的所有者和所属组 

三.文件搜索命令

1.显示系统命令所在目录

which useradd

2.查找文件或目录

find dir -name filename:在目录下查找文件名为filename的文件

-name:文件名称,例如:find . -name "*.log" 

-size:文件大小,以block为单位,1block=512k

-size +204800:大于100M

-size -204800:小于100M

-user:文件所有者

-ctime:按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-cmin:同上,分钟

-mtime:按文件更改时间来查找文件,-n指n天以内,+n指n天以前

-mmin:同上,分钟

-atime:按文件访问时间来查找文件

-amin:同上,分钟

-type b/d/c/p/l/f :查是块设备、目录、字符设备、管道、符号链接、普通文件

-empty:查找在系统中为空的文件或者文件夹

-exec commond {} \;:将查找到的路径作为commond的参数,并执行,

例如:find . -name .svn -exec rm -rf {} \; 类似于:find . -name .svn | xargs rm -rf

 find . -name "*.log" -exec cp '{}' ./dir ';' :将当前目录下的以.log结尾的文件拷贝到./dir下

类似于find . -name "*.log" | xargs -n1 -i cp {} ./dir

-n[num] : 执行命令时,一次提供几个参数,这里表示,每次传递给cp一个参数

-maxdepth:查找目录最大深度,默认是全部查找

例如:find -maxdepth 2 -name "*${filename}*" -exec cp {} $newfilename \;

-a:and

-o:or

例子:查询大于100M并且所有者为hanqf的文件并将其删除

find /etc -size +204800 -a -user hanqf -exec rm -rf {} \;

!:不等于,不包含,例如:find . ! -type d,查找所有类型不是目录的文件

3.从文件索引库中查找文件或目录

updatedb:更新索引,系统会自动定期执行

locate key:从索引库中查找名称包含key的文件和目录

4.在文件中搜索匹配关键字的行

grep key file:grep ^# file:显示所有行首是#的行

cat file | grep key

grep -v key file:查找不含key的行

grep key file -A 10:显示关键字行及其后面的10行

grep key file -B 10:显示关键字行及其前面的10行

四.帮助命令

1.获得帮助信息

man ls:查看ls的命令帮助

man services:查看配置文件services的帮助信息(/etc/services,配置文件都位于/etc下)

man passwd:查看命令,或者man 1 passwd

man 5 passwd:查看配置文件

2.获得命令的简单说明

makewhatis:建立索引数据库

whatis ls

五.压缩和解压缩命令

1.格式:.gz 只能压缩文件

gzip file ===》file.gz

gunzip file.gz ===》file

gunzip *.gz

2.格式:.tar 可以压缩文件和目录

tar -cvf file.tar file

-c:产生.tar文件

-v:显示详细信息

-f:指定压缩后的文件名

-z:打包同时压缩为.gz

tar -xvf file.tar

-x:解压.tar文件

-v:显示详细信息

-f:指定要解压的文件名

-z:解压缩.gz

tar -zcvf file.tar.gz file/dir

tar -zxvf file.tar.gz 

tar -zxvf file.tar.gz -C todir

-C:解压到指定目录

tar -zcvf file_$(date +%F).tar.gz file

$(date +%Y.%m.%d-%H%M)

tar -ztf file.tar.gz:不解包,查看包中文件列表

tar -zcvf file.tar.gz dir1 dir2 dir3:压缩多个目录

3.格式:.zip 可以压缩文件和目录

zip file.zip file

zip -r dir.zip dir

unzip file.zip

unzip -o file.zip:解压后如果文件已经存在,则覆盖

unzip -n file.zip:解压后如果文件已经存在,则不覆盖

4.格式:.bz2 只能压缩文件

bzip2 -k file===>file.bz2 

-k:压缩后保留原文件

bunzip2 -k file.bz2 

-k:解压后保留原文件

六.网络通信命令

1.向已经登录系统的另一个用户发送即时消息

write user

Ctrl+D:退出

2.向所有登录用户发送广播消息

wall

Ctrl+D:退出

cat file | wall

wall < file

3.测试网络连通性

ping ip/domain

ping 192.168.36.49 -c 3 :-c 测试次数

ping 192.168.36.49 -c 3 -s 1000 :-s 发送icmp包的大小bytes

4.查看网络设置信息

ifconfig -a:查看所有网卡信息

ip a:查看网卡信息

七.系统关机与重启命令

重启:

shutdown -r:安全重启,会通知正在登录的用户

shutdown -r now:马上重启

reboot:马上重启,不通知登录用户

init 6

关机:

shutdown -h:安全关机,会通知正在登录的用户

shutdown -h now:马上关机

init 0

poweroff:直接断电,相当于按住电源键3秒钟

echo b > /proc/sysrq-trigger 立即重新计算机

echo o > /proc/sysrq-trigger 立即关闭计算机

八.命令别名

alias:查看所有系统定义的别名

定义:

alias copy=cp

alias xrm="rm -r"

删除:unalias copy

九.输入/输出重定向

0:标准输入

1:标准输出

2:标准错误输出

>:输出重定向  date > file

>>:增量输出重定向 date >> file

<:输入重定向 wall < file

例子:

标准输出和错误输出分别定向到指定的文件

ls 1>/dev/null 2>/dev/null

标准输出和错误输出都定向到同一个文件

ls >/dev/null 2>&1  ===== ls >& /dev/null

十.管道

| : cat file | grep key | sort | uniq | wc -l

十一.命令连接符

; : 间隔命令

&& :逻辑与,前面的命令成功,才会执行后面的命令

|| :逻辑或,前面的命令失败,才会执行后面的命令

十二.命令替换符

`command`:ls -l `which touch` 会优先执行替换符里面的命令,并将结果作为前面命令的参数

十三.系统相关

runlevel:查看当前的系统运行级别

init 5:切换到5运行级别

0:关机

1:单用户安全模式

2:多用户,类似于3,但不支持nfs

3:多用户,完整模式

4:未使用

5:X window

6:重启

uname -a :查看系统类型

十四.系统时间

hwclock --hctosys:用主板时间设置软件时间

hwclock --systohc:用软件时间设置主板时间

hwclock --set --date="9/22/96 16:45:05"

date MMDDHHmmYYYY.ss:设置软件时间

十五.网络命令

1.ssh登录:

ssh -p 2188 [email protected]  //不同用户名

ssh -p 2188 192.168.1.219  //相同用户名

2.scp远程传输

scp -P 2188 xxx.txt  [email protected]:~/xxx.txt //不同用户名

scp -P 2188 xxx.txt  192.168.1.219:~/xxx.txt //相同用户名

十六.watch

定期执行程序,全屏显示输出

watch -n1 command

-n[num]:间隔多少秒执行一次command

例子:watch -n1 ls -al:每隔1秒,查看当前目录的变化,默认2秒

 十七.系统启动时关闭进度条,显示详细信息

vi /boot/grub/grub.conf

#将下面内容最后的rhgb去掉即可

kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

说明:

其中"rhgb"表示"redhat graphics boot",就是图形进度条模式。

而"quiet"表示在启动过程中只显示重要启动信息,类似硬件自检之类的消息不会显示,可以有选择地选用。

 十八.查看centos版本号

cat /etc/issue

十九.大文件拆分

split -b 512m new-fl.tar.gz new-fl.

split -b 2g new-fl.tar.gz new-fl.

split -d -b 2g new-fl.tar.gz new-fl.

split -l 100 list.csv list.csv.

格式:split 参数 被分割文件 分割后文件前缀

参数:

-b:分割文件的大小

-d:默认分割后的文件后缀是aa、ab、ac……,加上-d参数,后缀变为00,01,02……

-l:按行分割文件,这里表示100行一个文件

相关推荐