命令执行
cmd1;cmd2
首先运行命令1,然后运行命令2cmd1&&cmd2
仅在命令1成功结束时才运行命令2cmd1||cmd2
仅当命令1失败时才运行命令2- 执行多次,或循环执行
#for i in {1..5}; do // while true; do > command >done
bash
- 可以利用 TAB 补全查看所有可用的命令选项(连按两次 TAB 键)
~/.bashrc
是 Bash shell 在每次启动时都会自动执行的一个脚本文件,可以用于设置环境变量、别名和一些其他 Bash shell 配置。source /opt/rh/devtoolset-9/enable
更新gcc版本- export PS1=’[][\W]$ []’ 修改PS1变量,让其更加简洁。PS1的默认设置为
\[\][\u@\h \W]\$ \[\]
管道
输出流
- 在Unix/Linux系统中,每个进程都有两个默认的输出流,即标准输出(文件描述符1,stdout)和标准错误输出(文件描述符2,stderr)
- 用
|
连接两个命令,以前面一个命令的输出作为后面命令的输入 strace -f gcc a.c 2>&1 | vim -
This will pipe both stdout and stderr to vim. The-
argument tells vim to read from stdin.strace pmap 152 |& vim -
|&
: This is a shorthand for2>&1 |
in bash and zsh. It passes both standard output and standard error of one command as input to another.find / -newermt "2022-12-31 23:00" ! -newermt "2023-01-01 01:00" 2>/dev/null
- 查找 2022年12月31日23:00 到 2023年1月1日1:00 期间发生变动的文件
2>/dev/null
丢弃错误信息
crontab
crontab -e
- 注意:crontab运行的环境并不包含docker命令。需要指定完整的路径。
进程
ps
ps
: 显示当前终端窗口关联的进程ps aux
: 显示所有用户的详细进程列表,包括进程的PID(进程ID)、CPU利用率、内存使用等信息
lsof
lsof -i:端口号
:查看端口占用情况lsof -nP -iTCP -sTCP:LISTEN
-n inhibits the conversion of network numbers to host names for network files. Inhibiting conversion may make lsof run faster.It is also useful when host name lookup is not working properly.
-P inhibits the conversion of port numbers to port names for network files. Inhibiting the conversion may make lsof run a little faster. It is also useful when port name lookup is not working properly.
others
kill -9 PID
:杀掉对应的进程
tar
tar cvf file.tar *.c
creates a tar file called file.tar which is the Archive of all .c files in current directory.tar xvf file.tar
extracts files from Archives.z
tells tar command that creates tar file using gzip 即tar.gz
find
配合grep查找文件内关键字
seq 1 10 | xargs -n2 -P5 sh -c 'find / -type f -mindepth $1 -maxdepth $2 -exec grep -inl "keyword" {} 2>/dev/null \;' _
find查找指定时间段内变动的文件
find / -newermt "2022-12-31 23:00" ! -newermt "2023-01-01 01:00" 2>/dev/null
查找根目录下的所有可执行文件,但排除/usr目录
find / -path /usr -prune -o -type f -executable
查看信息
- 查看架构
arch
- 查看内核版本
uname -r
uname -a
cat /proc/version
杂项
sudo passwd root
: 修改root用户的密码su
切换用户,默认为切换到root用户strace
追踪程序系统调用touch
新建文件,内容为空cat
cat filename
To view a single filecat [filename-whose-contents-is-to-be-copied] > [destination-filename]
Copy the contents of one file to another file.cat file1 >> file2
Cat command can append the contents of one file to the end of another file.
sort -nk 6
依第6列升序排列grep
(global regular expression) 用于查找文件里符合条件的字符串或正则表达式which
查找安装路径 如which docker
alias
alias name='command line'
- 列出目前所有的别名设置
alias
- 持久化: 添加到
~/.bashrc
即可
- Retrieve Contents over HTTP without curl or wget