可以用tree
tree /var/www/
展示以/var/www为根的所有树叶
tree -L 1 /usr/
展示以/usr为根的第一层树叶
路径的两种表示方式: 绝对路径,从/开始一层一层写全目录或文件名 相对路径,以当前目录为根表示目标路径,"."表示当前工作目录,".."表示上一层。
基本用法:cmd [options] object
当输入一个命令,Linux系统搜索顺序为
1. aliases (e.g. ll)
2. exported functions
3. built-in shell commands (e.g. export)
4. scripts and binaries in your PATH (可执行文件)
如果搜索完毕均找不到,则报错(command not found)
查看帮助可以尝试:
cmd --help
cmd -h
man cmd
例如:
- 查看ls命令的帮助可以用:
ls --help
或man ls
,不过由于-h是ls的一个选项,所以ls -h不会显示帮助。- 还可以通过一些简单的在线网站查询命令,例如https://www.linuxcool.com/
查看有哪些命令:
compgen -c will list all the commands you could run
compgen -a will list all the aliases you could run
compgen -b will list all the built-ins you could run
compgen -k will list all the keywords you could run
compgen -A function will list all the functions you could run
compgen -A function -abck will list all the above in one go
查看命令属性:
type cmd: Display information about command type.
which cmd: locate a command
例如:
- 查看ll命令的属性:
type ll
可见“ll is aliased to `ls -lF'”表明ll是一个命令别名;- 查看cd命令的属性
type cd
可见“cd is a shell builtin”表明cd是一个shell内建命令*
pwd – return working directory name
单独运行,无参数
创建目录dir: mkdir dir
递归创建系列dir:mkdir -p dir1/dir2/dir3
删除空目录:rmdir emptydir
删除任意目录:rm -r anydir
列出当前路径内容:ls
列出目录dir内容:ls dir
以长格式列出目录dir内容:ls -l dir
长格式输出的内容依次为:
- The file type. 第一个字段的第一个字符。文件类型包括:
- - - Regular file.
- b - Block special file.
- c - Character special file.
- d - Directory.
- l - Symbolic link.
- n - Network file.
- p - FIFO.
- s - Socket.
- The file permissions. 第一个字段的第2-10字符,每3个字符表示一组用户对该文件所拥有的权限。
- r - Permission to read the file. 使用chmod时可以用4表示
- w - Permission to write to the file.使用chmod时可以用2表示
- x - Permission to execute the file.使用chmod时可以用1表示
- s - setgid bit.少见
- t - sticky bit.少见
- Number of hard links to the file.
- File owner.
- File group.
- File size. 如果是目录,此处展示的并非该目录实际所占存储大小,而是目录元数据的大小。(ls returns meta-data for the directories, not the actual size.)
- Date and Time.
- File name.
切换到主目录:cd
切换到目录dir:cd dir
复制file1到file2:cp file1 file2
复制目录1到目录2:cp -r dir1 dir2
移动对象1到对象2:mv object1 object2
删除文件:rm file
按页展示文件内容:more file或者less file,空格翻页
将文件内容全部展示到屏幕上:cat file
查看文件前十行:head file
查看文件后十行:tail file
符号链接(软链接):ln -s file1 file2
创建一个新的空文件:touch newfile
修改已存在的文件的时间信息:touch existingfile
查看当前硬盘使用情况:df
查看目标目录dir所占空间:du dir
查看当前系统内存cpu等使用情况:top
列出当前所有进程及详细信息:ps -ef
列出用户username的所有进程及详细信息:ps -f -u username
终止进程pid:kill pid
打包并压缩目录dir:tar czvf dir.tar.gz dir/
解包dir.tar.gz:tar xzvf dir.tar.gz
压缩文件abc:gzip abc
解压缩文件abc.gz:gunzip abc.gz
改成仅owner可读可写可执行:chmod 700 object或者chmod u=rwx,g=,o= object
给所有用户增加可执行的权限:chmod +x object
给属主增加可执行的权限:chmod u+x object
设置新的别名:alias newname='cmd option'
删除别名:unalias aliasname
例如:设置过
alias mywkdir='cd /public/workspace/shaojf/Course/advancedLinux'
后,可以直接通过运行mywkdir切换到advancedLinux目录。
断点续传下载url到当前路径:wegt -c url
下载url并列出进度:curl -OL url
awk适合对文本进行格式化处理
从文件file中提取第一列:awk '{print $1}' file
例如:
awk '{print $2"\t"$5}' aLinux.2023.txt | head
可以获得aLinux.2023.txt的第2和第5列(以空格作为分隔符),并通过管道传给head,因此展示前10行awk '$5=="临床医学"{print $2"\t"$5}' aLinux.2023.txt
可以提取第5列精确等于临床医学的名单
grep适合查找匹配
从文件file中查找匹配到keyword的行:grep keyword file
例如:
grep "临床医学" aLinux.2023.txt
可以输出匹配到临床医学的行grep -v "临床医学" aLinux.2023.txt
则输出不匹配临床医学的行
sed适合匹配替换
将文件file中的old替换成new:sed 's/old/new/' file
例如:
sed 's/生物医学工程与信息学院/工信院/' aLinux.2023.txt
可以把生物医学工程与信息学院替换成工信院
文本排序(sort)
按第col列排序:sort -k col ile
去重复:sort -u file > newfile
去重复(uniq)
Filter adjacent matching lines:uniq file > new file
统计字符(wc)
文件file行数:wc -l file
其他常用工具
join - join lines of two files on a common field
paste - merge lines of files
diff - compare files line by line
cut - remove sections from each line of files
split - split a file into pieces
vim使用教程可以参考: https://www.runoob.com/linux/linux-vim.html