参考资料
初窥Linux 之 我最常用的20条命令
linux常用命令大全,linux常见命令(指令)介绍
文章目录
1.0 常用linux 指令
cd 切换目录
cd .. # 切换到上层目录
cd .. # 切换到当前目录
cd /root/Docements # 切换到目录/root/Docements
cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录
cd ../path # 切换到上层目录中的path目录中,“..”表示上一层目录
ls 查看文件与目录(list之意)
常用指令
la = ls -a
ll = ls -l
经常与grep 通过管道方式一起使用, 筛选特定信息
-l :列出长数据串,包含文件的属性与权限数据等
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,kB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
grep
grep [-acinv] [--color=auto] '查找字符串' filename
grep 操作方式 查找到的内容添加颜色(always, never, auto) "字符串" 文件名
[--color=auto] 这句一般可省略
-a :将binary文件以text文件的方式查找数据
-c :计算找到‘查找字符串’的次数 (count)
-i :忽略大小写的区别,即把大小写视为相同
-v :反向选择,即显示出没有‘查找字符串’内容的那一行
ls -l | grep -i file #输出当前目录下包含file的文件(不区分大小写)
grep -v file /dir/filename #文件filename中 不包含file的行
find
find [PATH] [option] [action]
# 与时间有关的参数:
# 与用户或用户组名有关的参数:
# 与文件权限及名称有关的参数:
cp 复制
将文件或者文件夹复制到另一个目录
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,复制文件夹及所有子文件夹内的内容
-u :目标文件与源文件有差异时才会复制
cp /dir1/file1 /dir2 #把文件file1复制到目录dir2下
cp -a file1 newfilename #连同文件的所有特性把文件file11重命名为newfilename
rm 删除
-f : force强制
-i : 删除前会询问
-r : 递归删除, 用于文件夹删除
mv 移动文件或者文件夹
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖 (do not prompt before overwriting)
-i :若目标文件已经存在,就会询问是否覆盖 (prompt before overwrite)
-u :若目标文件已经存在,且比目标文件新,才会更新 (move only when the SOURCE file is newer than the destination file or when the
destination file is missing)
mkdir 新建文件夹
pwd 打印当前路径
shawfy@shawfy-pc:~/linux_study$ pwd
/home/shawfy/linux_study
file 打印文件类型
file filename
#例如:
shawfy@shawfy-pc:~/linux_study/D_star$ file Dstar.h
Dstar.h: C++ source, ASCII text
gcc 编译
-o :output之意,用于指定生成一个可执行文件的文件名
-c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序
-I :增加编译时搜索头文件的路径
-L :增加编译时搜索静态连接库的路径
-S :把源文件生成汇编代码文件
-lm:表示标准库的目录中名为libm.a的函数库
-lpthread :连接NPTL实现的线程库
-std= :用于指定把使用的C语言的版本
# 例如:
# 把源文件test.c按照c99标准编译成可执行程序test
gcc -o test test.c -lm -std=c99
#把源文件test.c转换为相应的汇编程序源文件test.s
gcc -S test.c
cat
查看文本文件内容, 可以使用管道与more, less使用, 一页一页的查看
cat filename | more
vim
head 查看文件头10行
head -n 10 example.txt
tail 查看文件尾10行
tail -n 10 example.txt
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
clear 清屏
2.0 文件权限管理
读 | 写 | 可执行 |
---|---|---|
4 | 2 | 1 |
R | W | X |
-rw-rw-r-- 一共十个字符,分成四段。
第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
第二三四个字符“rw-”, 表示当前所属用户(u, user)的权限。 (4+2=6)
第五六七个字符“rw-”, 表示当前所属组(g, group)的权限。 (4+2=6)
第八九十个字符“r–”, 表示其他用户(o, other)权限。 (2)
所以, 操纵指令为662
sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名
修改文件权限
sudo chmod u+x g+w o+r filename
sudo chmod 765 filename
chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x
chmod g+w file # 向file的文件权限中加入用户组可写权限