# Basic
# Linux 系统目录结构
# Linux 命令行基本操作
# 文件操作
# touch
用法:touch [选项]... 文件...
# cp
cp --help
-a # 将文件的特性一起复制
-p # 连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i # 若目标文件已经存在时,在覆盖时会先询问操作的进行
-r # 递归持续复制,用于目录的复制行为,此时将复制该目录下所有的子目录和文件。
-u # 目标文件与源文件有差异时才会复制
# 基本使用
cp file1 file2
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2
cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中
# rm
-f # 就是force的意思,忽略不存在的文件,不会出现警告消息
-i # 互动模式,在删除前会询问用户是否操作
-r # 递归删除,最常用于目录删除,它是一个非常危险的参数
rm -i file # 删除文件file,在删除之前会询问是否进行该操作
rm -rf dir # 强制删除目录dir中的所有文件
# mv
-f # force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i # 若目标文件已经存在,就会询问是否覆盖
-u # 若目标文件已经存在,且比目标文件新,才会更新
mv old_name new_name # 重命名文件
# cat
cat text | less # 查看text文件中的内容
# 注:这条命令也可以使用less text来代替
# grep
global search regular expression
-a # 将binary文件以text文件的方式查找数据
-c # 计算找到‘查找字符串’的次数
-i # 忽略大小写的区别,即把大小写视为相同
-v # 反向选择,即显示出没有‘查找字符串’内容的那一行
# 搜索/etc/passwd文件中包含bash字符串的行
grep bash /etc/passwd
# 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色
grep --color=auto 'MANPATH' /etc/man.config
# 把ls -l的输出中包含字母file(不区分大小写)的内容输出
ls -l | grep -i file
# find
# 目录操作
# cd
cd /root/Docements # 切换到目录/root/Docements
cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录
cd ../path # 切换到上层目录中的path目录中,“..”表示上一层目录
# ls
-l # 列出长数据串,包含文件的属性与权限数据等
-a # 列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d # 仅列出目录本身,而不是列出目录的文件数据
-h # 将文件容量以较易读的方式(GB,kB等)列出来
-R # 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
# 系统相关
# ps
-A # 所有的进程均显示出来
-a # 不与terminal有关的所有进程
-u # 有效用户的相关进程
-x # 一般与a参数一起使用,可列出较完整的信息
-l # 较长,较详细地将PID的信息列出
# kill
# 该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号
kill -signal PID
# top
top
#
apt install btop
btop
# 网络相关
# netstat
netstat -h
netstat -r
netstat -apn
# ip
ip -h
ip link
ip addr
ip -4 addr
ip route
# 权限相关
# useradd
#添加一个一般用户
useradd kk # 添加用户kk
# 为添加的用户指定相应的用户组
useradd -g root kk # 添加用户kk,并指定用户所在的组为root用户组
# 创建一个系统用户
useradd -r kk //创建一个系统用户kk
# 为新添加的用户指定/home目录
useradd -d /home/myf kk # 新添加用户kk,其home目录为/home/myf
# chgrp
chgrp [-R] dirname/filename
-R # 进行递归的持续对所有文件和子目录更改
# 例如:
chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users
# chown
chown user[:group] file
chown runoob:runoobgroup file1.txt # 将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup
# chmod
chmod [-R] xyz # 文件或目录
-R # 进行递归的持续更改,即连同子目录下的所有文件都会更改
|read
|write
|execute
|
chmod 755 file # 把file的文件权限改变为-rwxr-xr-x
chmod g+w file # 向file的文件权限中加入用户组可写权限
# 其他
# Tar
Linux 常用解压缩软件
功能
- -c,--create 创建新的 tar 文件
- -x,--extract,--get 解开 tar 文件
- -t,--list 列出 tar 文件中包含的文件的信息
- -r,--append 附加新的文件到 tar 文件中
- -u,--update 用已打包的文件的较新版本更新 tar 文件
- -A,--catenate,--concatenate 将 tar 文件作为一个整体追加到另一个 tar 文件中
- -d,--diff,--compare 将文件系统里的文件和 tar 文件里的文件进行比较
- --delete 删除 tar 文件里的文件。注意,这个功能不能用于已保存在磁带上的 tar 文件。
常用命令
- -v,--verbose 列出每一步处理涉及的文件的信息,只用一个“v”时,仅列出文件名,使用两个“v”时,列出权限、所有者、大小、时间、文件名等信息。
- -k,--keep-old-files 不覆盖文件系统上已有的文件。
- -f,--file 文件名 指定要处理的文件名。可以用“-”代表标准输出或标准输入。 此项为必须
- -P,--absolute-names 使用绝对路径。
- -j,--bzip2 调用 bzip2 执行压缩或解压缩。注意,由于部分老版本的 tar 使用-I 实现本功能,因此,编写脚本时,最好使用--bzip2。
- -J,--xz,--lzma 调用 XZ Utils 执行压缩或解压缩。依赖 XZ Utils。
- -z,--gzip,--gunzip,--ungzip 调用 gzip 执行压缩或解压缩。
- -Z,--compress,--uncompress 调用 compress 执行压缩或解压缩。
- 查看
# 在不解压的情况下查看压缩包的内容
tar -tf file.tar.gz
- 压缩
# 将目录里所有jpg文件打包成tar.jpg
tar –cvf jpg.tar *.jpg
# 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –czf jpg.tar.gz *.jpg
# 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cjf jpg.tar.bz2 *.jpg
# 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
tar –cZf jpg.tar.Z *.jpg
- 解压
# z使用gzip x解压 v展示每一步信息 f指定文件
tar zxvf file_name.tar
tar zxvf file_name.tgz
tar zxvf file_name.tar.gz