Linux常用命令总结(全)
路径
绝对路径:/.../... 相对路径:./ 表示当前目录,../表示上一级目录
/表示根目录
/bin目录(/usr/.bin:可执行二进制文件的目录):存放工具
/home:~表示当前用户的家目录,如:~moyu表示edu的家目录
/etc:存配置文件 /dev:设备文件,挂载光驱
/lib(/usr/lib)(/usr/local/lib):存库函数
文件权限
drwxr-xr-x:以d开头的为目录文件,以-开头的为普通文件,b\c开头的为设备文件(主要在/dev),l开头的为link链接文件(快捷方式)
文件的权限很重要,如:drwxr-xr-x moyu root
红色的区别文件类型,黄色的为:文件所有者权限,绿色的为用户组权限,紫色的为其他用户权限,这里的moyu为文件所有者,root为用户组。
命令:
whoami 查询当前用户
cat 查看群号:cat /etc/group 查看所有用户组,里面的x:0,数字为用户组(群)号
cat /etc/passwd 查看所有用户,里面的x:1001,数字为用户号
如:给stdio.h其他用户分配写的权限 sudo chmod o+w stdio.h
其中(u/g/o/a)分别表示文件所有者/群组/其他人/所有权限,(+、-、=表示添加,减少,赋予相关权限)
修改文件所有者:chown
chown 用户名 文件或目录名
修改文件所有组:chgrp
chgrp 用户组 文件或目录名
cal -y 查看当年日历
cal 年份 查看某年日历
date +%Y-%m-%d-%H:%M:%S 查看当前时间
linux命令格式
[ ]表示可选
command [options][parameter]
查看命令用法 --help 如:ls --help (不是所有的命令都可用--help查)
.开头的文件为隐藏文件
查使用说明:man
查询printf命令,man 1 printf,其中1代表系统命令,man 3 printf ,3代表库函数里面的
history查看历史命令
ls参数:-a显示所有文件,包括隐藏文件
-l表示以列表方式显示文件的详细信息
-h表示配合-l以人性化方式显示文件大小
其中ls -a -l -h和ls -lah等价
ls -l可缩写为ll
-rw-rw-r-- 3 edu edu 433 10月 13 10:47 红色部分3表示这个目录文件夹个数,默认一个文件夹下有2个文件夹:. 和..
touch创建文件(不存在的新建,存在,改时间,改为当前)
ls [1-9].??? 表示匹配后缀名3个字符,文件名为1-9的文件
touch *.c 把所有的.c文件时间改为当前时间
touch \*.c 创建*.c文件 其中\为转义字符
重定向:
ls /usr/include/ >test.txt
把ls /usr/include/命令在屏幕上显示的内容保存到text.txt中(有的话覆盖)
ls ./ >>test.txt
>>表示不覆盖,追加到text.txt后方
cat /usr/include/stdio.h 查看文件
more分屏显示:按q退出,h帮助,空格下一页
管道 | : ls | grep std
grep文本搜索,std为搜索条件,可以是表达式如:[1-9].c
管道:一个命令的输出可以通过管道作为另一个命令的输入
清屏 clear ,pwd显示当前路径
cd 切换工作目录, cd ~ 切换到当前用户主目录(/home/用户目录)
cd - 可进入上一个进入的目录
windows常用命令:查看目录信息:dir ,清屏:cls
mkdir -p递归创建 ,如:mkdir ./a/b/c -p
./a/b/c同时创建abc目录
rmdir只能删除空文件夹
rm 强大,可全删,-r表示递归删除目录下内容,删除文件夹时必须加此参数
rm 文件夹名 -r ,-f 不提示 -i提示(一般-rf)
ln 建立文件链接
ln 源文件 链接文件
ln -s 源文件 链接文件
-s软链接(不占内存大小)
grep命令
grep mike test.txt -n
grep搜索查找 查找mike关键字 test.txt表示在哪个文件里面查 -n显示行号
-i 忽略大小写,-v求反,不匹配的内容
" "里面表示整体,比如grep "1 2 3"
^a表示以a开头 k$表示以k结尾的 .代表任意字符
find 查找
find ./ -name "*.h"
./表目录,-name表示以名字查,*.h表示文件,查后缀为.h的文件
find /tmp -size +2M
查找大于2M的文件
find ./ -size 4k -size -5M
查找4k-5M大小的文件
find ./ -perm o777
查找权限为777的文件或目录
cp拷贝
-a 复制目录,保留连接,文件属性
-f 不提示 -i 提示 -r 递归复制 -v显示进度
mv 移动文件
-f 不提示 -i 提示 -v进度
file 查看文件类型
VIM使用:
复制(yank 提起):复制整行:yy
粘贴(put 放下):p
查看文件大小 du
du 文件目录 -h 查看文件的大小
tar打包:
tar -cvf aaa.tar aa/ bb/ 其中-c表示创建,v表示进度 f 表示提示 aaa.tar表示打包的包名 aa/ bb/表示要打包的文件(*b表示当前目录下所有的文件)
解包:
tar -xvf aaa.tar -C ../bin 其中-x表示解包,vf和上面相同, aaa.tar表示要解包的文件,-C用于指定解包的目录,后面的地址为解包的地址,(不写-C ../bin默认为当前目录)
gzip压缩 (gzip后缀为.gz ; bzip2使用同理,后缀为.bz2):
gzip xxx.tar 压缩某个包,在当前目录生成
gzip -r xxx.tar xxx.tar.gz 加了-r之后,绿色的部分要写xxx.tar.gz,压缩后的文件名
gzip解压:
gzip -d xxx.tar.gz 解压文件,-d表示解压
使用gzip一步压缩解压
tar -czvf xxx.tar.gz 待打包的文件
tar -xzvf xxx.tar.gz 功能:解压文件包,后面加上-C 解压指定的目录 可以指定解压的目录
使用bzip2一步压缩解压:只需要把 z 换成 j 即可
zip ,unzip 使用:主要是为了兼容windows压缩文件
zip -r test.zip * 将当前目录所有文件压缩为test.zip
unzip -d test test.zip 将test.zip解压到指定test目录,-d表示解压
which查看 命令所在的目录
如:which查看ls所在的目录
创建组:groupadd 如:groupadd abc 添加组
删除组:groupdel
把角色分配到用户组 usermod -g 用户组 用户名
添加用户:useradd -d /home/abc abc -m 其中-d表示指定主目录,后面接用户目录 ,adc为用户名,-m自动创建目录(必须加),-g moyu 可以在创建的时候指定组,这里的moyu为用户组
删除用户:userdel abc -r 其中-r表示把用户目录也删除(没有-r还要自己手动删用户目录)
sudo passwd abc 创建密码 ,adc为用户,用来指定创建谁的密码
last查看用户登录时间
ps进程 ps -aux 查看进程
ps参数: -a :所有经常 -u:详细内容 -x:没有控制终端进程 -w:加宽显示界面 -r 显示在运行的后台进程
kill 杀死进程 kill -9 进程号 其中-9表示强力杀死
kill 进程号 杀死进程
top 动态查看进程 -m :按内存使用排序 -p:cpu占有率 -T:按时长排序 -U:用户,后加用户名(过滤) 如: top -U moyu 显示moyu的所有进程 -K 杀死进程(后面加Pid值)
sudo su -moyu 切换用户,没有红色的部分为切换为root
设置后台进程:&
如果有一个可执行程序为test,使用 ./test & 表示到后台运行它
jobs 查看后台
fg调用后台 fg 编号 这里的编号指的是jobs查看得到的编号
字符界面和图像界面切换
redhat : init 3 切换字符界面 init 5切换图形界面
其他:快捷键切换 ctrl+alt+F3 切换字符界面 ctrl+alt+F1 切换图形界面
df查看文件所在硬盘大小 du查看大小(目录),使用一般都是命令+文件
软件基本安装
sudo apt-get update 更新软件
sudo apt-get install xxx 安装软件
sudo apt-get remove xxx 删除软件
rpm -ivh xxx.rpm 安装rpm程序 其中-i表示指定安装的软件包,-v表示显示安装信息,-h表示进度
ifconfig 查看ip信息
ping ip地址 查看能否ping通
远程linux-linux
ssh -l username hostip 其中username表示对方用户名 ,hostip表示目标主机ip地址