Linux常用命令
-
查看系统版本
$ cat /etc/issue
-
查看内核
$ cat /proc/version
-
开机启动项(Ubuntu)
$ systemctl list-unit-files #查看 $ sudo systemctl disable <service_name> #禁用某服务开机启动 $ sudo systemctl stop <service_name> #停止某服务
- 可用
|grep <condition>
过滤
- 可用
-
查看时间和时区
$ date -R
-
修改时区
$ timedatectl set-timezone [timezone]
- 先通过
tzselect
命令查看想要的时区的写法,然后再使用timedatectl
修改时区
- 先通过
-
重置密码
$ sudo passwd root
- 重置当前用户的密码
- 如果是超级用户,可以用
passwd xxxx
重置任意用户密码
-
切换至root用户
$ su
- 切换至其他用户,可以用
su username
- 切换至其他用户,可以用
-
修改用户权限
有几种方法:
1). 把已建立的用户添加到已存在的group中
$ adduser username groupname
2). 设定为Sudo用户。修改
/etc/sudoers
文件。在# User privilege specification
项下添加以下内容fanco ALL=(ALL) ALL
- 以上是开启所有的权限
-
查看服务
$ service <service_name> status
-
显示进程信息
$ top
-
显示进程状态
$ ps $ ps -l #显示进程的详细列表 $ ps aux #显示所有进程,包括其他用户
-
默认只显示当前用户有控制终端的进程
-
-
当前目录的路径
$ pwd
-
列出当前目录的文档
$ ls $ ls -l #list mode $ ls -l -a #list + all files = ls -la $ ls -lh #list + human readable size
-
内置帮助
$ grep --help $ man -h
-
打印文件内容
$ cat a.txt $ cat a.txt b.txt #print a.txt then b.txt $ cat < a.txt #read from stdin
-
读取文件的头和尾
$ head <-n int> a.txt $ tail <-f> a.txt #会悬停在文件末尾,一旦文件有新内容更新,则会自动打印出来,一般在观察log的时候使用
- 默认读取10行
-
交互模式浏览文件
$ less a.txt
-
内容查找
$ cat a.txt | grep <content> or 在交互模式中输入'/<content>',然后回车进行搜索
- 在交互模式下当有搜索结果时,按
shift+n
和n
可以跳转前后已搜索的内容
- 在交互模式下当有搜索结果时,按
-
统计(line ,word and byte)
$ cat b.txt | wc 2 5 28
- 按行、单词数、字节数顺序展示
-
重定向(改变输入输出)
$ echo hello > hello.txt #redirect to a file(create a file and input content at the same time) $ echo world >> hello.txt #append to a file $ cat < hello.txt #use file as stdin stdout to monitor
- 标准输入stdin一般指控制台、键盘
- 标准输出stdout一般指终端、屏幕
>
:代表覆盖重定向>>
:代表追加重定向
-
管道:将前一个命令的标准输出作为下一个命令的标准输入
$ man less | grep sim $ man less | grep -n sim | grep That > that.txt 查找less命令的手册中含有sim的内容,并把它的行数标记出来,然后再此基础上继续查找含有That的内容,并把它保存到that.txt文件中
-
修改权限
$ chmod [+ | -] [x | r | w] [file] $ chmod 740 [file]
- 注意!!!不要随意设置成777,即-rwxrwxrwx
- 常见权限:
- 644(-rw-r--r--)默认权限
- 755(-rwxr-xr-x)
-
查找系统变量下的文件
$ which <filename>
- 只在`
PATH
变量指定的路径中查找,返回第一个搜索到的结果。
- 只在`
-
增加路径到PATH环境中
$ PATH=$PATH:<path> $ PATH=$PATH:$PWD #把当前路径加入到PATH中
- 从第一个环境变量开始寻找,一旦找到就优先使用,不管后面是否还能找到。
- 可搭配which命令判断该执行文件是否是你所指定位置所执行的文件。
-
全局快速查找文件
$ locate [-i/r] <keyword>
-i
:忽略大小写-r
:后面可接正则表达式
-
移动、重命名
$ mv hwllo.txt hello.txt #重命名 $ mv hello.txt <path> #移动文件
-
复制文件
$ cp a.txt a_copy.txt $ cp -r dir1 dir2 #复制文件夹需要加-r参数
-
删除文件
$ rm a.txt #删除单个文件 $ rm a.txt b.txt #删除多个文件 $ rm -r dir1 #删除文件夹及其所有子目录和文件
- linux是没有回收站的!!!
-
终止进程(按照PID)
$ kill -signal_number/-signal_name PID $ kill PID $ kill -9 PID #强力杀进程
-
终止进程(按照名字)
$ killall stress
- 一般情况下不用,有可能其他相关脚本命令也在使用同一个名字的进程(不是同一个PID)
-
加
&
后台运行进程$ python3 myscript.py &
- 还是绑定着当前终端,只要当前终端/ssh关闭就会被终止
- 虽然执行了该命令,有可能还需要使用
ctrl+c
跳出前台 - 如果该进程有响应,还是会打印在当前终端
-
当前终端启动的命令
$ jobs $ jobs -l #显示PID
-
把当前终端后台进程变成前台
$ fg %<num> #把第几号任务放到前台并开始运行
-
恢复被挂起的后台进程
$ bg #重启最后一个job $ bg %<num> #在后台恢复第几号任务
ctrl+z
可挂起当前的前台进程
-
创建软连接
$ ln -s <target_path> <link_name>
- linux下的软链接类似于windows下的快捷方式
-s
是symbolic,代表软连接
-
删除软连接
$ rm -rf <link_name>
- ==注意!!!!软连接后面不要加
/
,否则是删除源文件整个目录==
- ==注意!!!!软连接后面不要加
-
创建文件
$ touch <file_name>
-
创建密钥对
$ ssh-keygen -t rsa -b 2048
- 在 Linux 系统上,默认情况下,将在 Linux
~/.ssh/id_rsa
目录中创建 SSH 公钥和私钥文件。如果在该目录中具有一个 SSH 密钥对,并且在运行该命令时使用相同的文件名,或者在该命令中指定不同的位置,并在该位置中已具有一个 SSH 密钥对,则会覆盖该现有密钥对。
- 在 Linux 系统上,默认情况下,将在 Linux
-
回响(输出你所输入的内容)
$ echo hello world #输出你所输入的内容 hello world $ echo $HOME / echo ~ #输出变量。shell会自动把变量展开传给echo /home/mr_fanco
-
跳转目录
$ cd path / cd ~ #可输入绝对路径或者一个变量 $ cd .. #返回上一层
-
用户手册
$ man <command>
-
待记录...
There are 0 comments