linux指令目录
0. 介绍
sp@sp-xxx:~$
sp :用户名
sp-xxx :主机名
~ :工作目录
/ :根目录
$ :普通用户权限 #:管理员 (超级用户权限)
输出重定向
本来输出在屏幕上的数据使用重定向写入文件中
命令 > 目的文件
先清空原来文件的内容然后写入
命令 >> 目的文件
追加在原来的文件内容之后
ls指令
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料 显示全部信息
ls -a 显示隐藏文件
ls -i 显示 文件 的节点号, 索引节点
ls *[0-9]* 显示包含数字的文件名和目录名
ls /ect | wc -w 统计目录下的文件数
drwxr-xr-x 3 sp sp 4096 2月 5 15:41 http
第一个字母
一共7种类型
bcd-lsp
b:块设备文件 c:字符设备文件 d:目录文件
- 普通文件 l 软连接文件 s 套接字文件 p 管道文件
文件权限三个为一组
分别为用户主 用户组 其他用户
r w x
"-" 表示没有权限
tree
tree -L 3 显示三层的文件
1.添加(去除)权限 chmod
sudo chmod o-w dir/ 去除文件夹的绿色阴影
命令为 chmod +(-)x filename
给文件filename添加某个权限
给文件filename去掉某个权限
w r x
查看端口和杀死端口
fuser -n tcp -k 8889 使用该指令可以杀死该端口号的进程
netstat -natp |grep (端口号) //过滤出来端口号 并查看他的进程
kill -9 pid 杀死占用的端口号
2. dmesg
dmesg 查看底层的相关硬件信息
du xxxx 察看文件大小
du xxxx -h 察看文件大小 M单位
md5sum kernel_new.img 查看唯一序列号
3.cd指令
cd dev 设备
cd lib 库
cd proc 存放内核信息
cd home 用户登录的页面
which ls 查看指令在哪个文件夹
4. 查看共享内存
ls /mnt/hpfs/share 查看共享内存
5. GCC
gcc -L ./(大写的l) 告诉编译器在那个目录下面找 默认是在/usr/lib /usr/local/lib 下面
gcc -I ./inc 上面把add.h移动到inc目录下后要利用-I来显式指定头文件的所在地, -I就是用来干这个的:告诉gcc去哪里找头文件。
6.查看文件属性
file xxx 查看文件属性
tar 压缩和解压命令
- gz格式
压缩
tar zcvf mytar.tar.gz 文件1 文件2
将文件1文件2压缩到mytar的压缩包下 后缀名必须是.tar.gz
解压
tar zxvf mytar.tar.gz
把压缩包mytar进行解压
- bz2格式
压缩
tar jcvf mytar.tar.bz2 文件1 文件2
解压
tar jxvf mytar.tar.bz2
- 可以直接写 cvf或者xvf进行解压和压缩 根据后缀名进行判断格式
- 指定解压到指定的文件夹下 使用 -C
tar jxvf mytar.tar.bz2 -C /home/sp
指定的目录
unzip 解压
查找头文件 和寻找在头文件的什么位置
cd /usr/include/ 显示当前所有头文件
ls
grep "struct sockaddr_in {" * -nir n表示行号 i 表示不区分大小写 r 定位
*表示在当前目录下
vi linux/in.h +184 表示进入linux/in.h 的头文件 +184 表示定位在184 行
代码对齐
gg(把关标定位到最上面),V(进入VISUAL模式),shift+g(选中整篇文本),然后=。
/ 文件根目录 参考的是盘符目录
./ 同级目录 和不加 / 的作用是一致的 参考的是当前文件夹
…/ 父级目录 参考的也是文件夹
2.’.‘和’…'命令
一个点代表当前目录
两个点为上一级目录
注意:没有三个点哦
那么想回到上上一级目录该怎么办呢?
答:…/…就可以了
执行命令 ./a.out >>text.ret.txt &
把运行完成的文件导入到text.ret.txt文件里面 加& 可以执行操作 不等待
连续的多行进行左右移动一个tab:
1. 第m行到第n行右移一个tab
:m,n>
2. 第m行到第n行左移一个tab
:m,n<
当需要移动多个tab时,则在后面加上对应数量的>
向右移动两个tab
:m,n>>
按ctrl加v进入视图模式把光标挪一直挪到你要缩进的头和尾,按>向右移动<向左移动
perror("why");//显示打印错误
whereis ls //显示绝对路径
echo $PATH //显示所有的绝对路径
改变路径export PATH=$PATH:/home/CLC 后面的表示为pwd的路径
cat 查看文件
sh -c./a.out 和./a.out 的一样
gg=G 对齐
ipcs -m 查看内存中有哪些共享内存
ipcrm -m shmip号 删除共享内存
CP指令
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp ~/dema2.c . //返回到当前目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
cp -r dir1 dir2 复制一个目录及子目录
cp 文件名 目录名 将文件复制到目录中
cp 目录1 目录2 -a 将文件夹1 里面的东西 复制到目录2中
cat 指令
cat +文件名 显示文件内容
cat -n 文件名 显示文件内容切带参数
mkdir指令
mkdir 创建文件夹
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树 目录是上面的目录
touch
touch 文件名 创建一个文件 如果文件存在,则会改变当前的时间 相当于改变了上次使用的时间
clear 清屏指令
也可以使用快捷键 ctrl + l
find
find 路径 -name 文件名 在指定的路径下查找文件 包括子目录
grep 查找信息
grep 查找信息 文件名 -n 查找信息 并显示出行号
grep 查找信息 * -R -n 在当前目录以及子目录下查找,并列出文件 递归显示
ln 软链接
相当于 快捷方式
ln -s 源文件名 链接文件名 创建生成 链接文件名 的软链接文件
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
rm指令
rm -f file1 删除一个叫做 'file1' 的文件' 强力删除
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
ps指令
ps -ef #显示所有当前进程
ps aux #显示所有当前进程
ps -ax #显示所有当前进程
ps -u pungki #根据用户过滤进程
ps -aux --sort -pcpu | less #根据 CPU 使用来升序排序
ps -aux --sort -pmem | less #根据用户过滤进程
ps -aux --sort -pcpu,+pmem | head -n 10 #查询全10个使用cpu和内存最高的应用
ps -C getty #通过进程名和PID过滤
ps -f -C getty #带格式显示的,通过进程名和PID过滤
ps -L 1213 #根据线程来过滤进程
ps -axjf(或pstree) #树形显示进程
ps -eo pid,user,args # 显示安全信息
ps -U root -u root u #格式化输出 root 用户(真实的或有效的UID)创建的进程
grep 命令是一种强大的文本搜索工具
ps -aux|grep a.out 查看a.out的进程号
kill -l 查看 系统的所有信号量
kill -9 a.out的进程号 杀死进程a.out
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
******************************
mv dema.c ~ //~是工作目录 表示移动到工作目录
mv dema.* ~ //*是匹配符号 表示把所有dema开头的文件移动到工作目录下面去
mv dir1 new_dir **重命名/移动 一个目录**
*******************************
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
find -name xxxx 寻找该目录有没有该文件名的函数