当前位置: 首页 > Linux

Linux常用命令及环境搭建

时间:2023-04-06 05:11:04 Linux

一、Linux权限的概念Linux下有两种用户:普通用户和超级用户()。普通用户:在linux下做有限的事情;超级用户:在linux系统下可以无限制的做任何事情。普通用户的提示符是“$”,超级用户的命令提示符是“#”。命令:su[用户名]功能:切换用户Linux权限管理1、文件访问者分类(人)文件和文件目录所有者:u—User文件和文件目录所有者所在组的用户:g—组其他users:o—Others2.文件访问权限类型基本权限:read对于文件,有读取文件内容的权限;对于目录,有浏览目录信息的权限。对于文件,write具有修改文件内容的权限;对于目录,它有删除移动目录中文件的权限。execute对于一个文件,它有执行该文件的权限;对于一个目录,它有进入该目录的权限。-表示权限不可用。3.文件权限值得表达方式r--只读权限为4+0+0=4-w-只写权限为0+2+0=2--x只可执行rw-可读可写-wx可写可执行r-x可读可执行rwx可读可写可执行——无权限rwx其中r权限为4w为2x为1,rwx为4+2+1=72、Linux下基本命令1.ls命令:格式::ls[选项][目录或文件]功能:对于一个目录,列出该目录下的所有子目录和文件;对于文件,列出文件名和其他信息。常用选项:-a:列出目录下的所有文件,包括以.开头的隐藏文件。-d:将目录显示为文件而不是其他文件。-i:输出文件第i个节点的索引信息。-k:表示文件的大小,以k字节为单位。-l:列出文件的详细信息。-n:使用数字UID、GID而不是名称。-F:在每个文件名后附加一个字符来描述文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“l”表示先进先出;“=”表示套接字。2.cd命令格式:cd[目录名]常用选项:cd..返回上一级目录。cd../..将当前目录向上移动两层。cd-返回最近访问的目录。3.pwd命令格式:pwd功能:显示当前工作目录的绝对路径。4、touch命令格式:touch[option]filename...功能:touch命令参数可以改变文件或目录的日期和时间,包括访问时间和更改时间,或者创建一个不存在的新文件。常用选项:-a只改变指定文件的访问时间。-c或--no-creat不创建任何文件。-m只改变指定文件的修改时间。-d使用指定的日期时间而不是当前时间。-f这个参数会被忽略不处理,它只负责解决BSD版本touch命令的兼容性问题。5.mkdir命令格式:mkdir[option]dirname...功能:mkdir命令用于创建一个目录。常用选项:-p--parents可以是路径名。此时,如果路赛中的某些目录尚不存在,则添加该选项后,系统会自动创建那些不存在的目录,即可以一次创建多个目录。-m--mode=MODE将新建目录的访问权限设置为MODE,访问权限由给定的八进制数表示。6、rm命令格式:rm[选项]文件列表功能:rm命令删除文件或目录。常用选项:-f–force忽略不存在的文件,不给出提示信息。-r-R,--recursive递归删除指定目录及其下级子目录和对应文件。-i以交互方式删除文件。说明:rm命令删除指定文件,默认不能删除目录。如果文件不可写,则标准输入是tty(终端设备)。如果没有给出选项-f或--force,rm命令会在删除前提示用户是否删除文件;如果用户不回答y或Y,文件将不会被删除。7.rmdir命令格式:rmdir[option]dirname功能:删除目录。常用选项:-p–parents递归删除目录dirname,当子目录被删除且其父目录为空时,也会被删除。如果存在非空目录,则将其保留。8.man命令格式:man[option]command功能:man命令格式化并显示某个命令的联机帮助手册页。常用选项:-k按关键字搜索联机帮助页。num只能在第num章中找到。-a将显示所有章节。说明:本手册共分8章:1.常用用户命令;2、系统调用;3、C语言函数库;4.驱动和系统设备说明;5、配置文件说明;6、游戏程序7、有用的杂项命令,如宏命令包等;8、系统维护管理相关命令。9.cp命令格式:cp[option]源文件或目录目标文件或目录功能:复制文件或目录。常用选项:-f–force强制复制文件或目录,不管文件或目录是否已经存在。-d复制时保留文件链接。-i--interactive在覆盖文件之前询问用户。-r递归处理,将指定目录下的文件和子目录一起处理。如果源文件或目录的形式不属于目录或符号链接,则将其视为普通文件。-R或--recursive递归处理,指定目录下的文件和子目录一起处理。10.mv命令格式:mv[选项]源文件或目录目标文件或目录功能:mv命令重命名文件或目录,或将文件从一个目录移动到另一个目录。常用选项:-fforce表示强制,如果目标文件已经存在,不询问直接覆盖。-i如果目标文件(destination)已经存在,会询问是否覆盖。11、cat/tac命令格式:cat[option][file]功能:查看目标文件的内容。常用选项:-b对非空输出行进行编号。-n对所有输出行进行编号。-s不输出多个空行。12.more命令格式:more[option][file]功能:more命令显示文件内容,一次一屏。常用选项:-n对所有输出行进行编号。-s将文件中连续的空行压缩成一个空行显示。-num此选项指定一个整数,指示在一个屏幕上显示多少行。q退出更多。13.less命令格式:less[参数]file功能:less命令与more命令类似,但有区别,less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。常用选项:-i搜索时忽略大小写。-N显示每行的行号。14.head命令格式:head[option][file]功能:head命令在屏幕上显示指定文件的前几行。常用选项:-c–bytes=[-]N显示每个文件的前N个字节。-n–lines=[-]N显示指定文件的前N??行。15.tail命令格式:tail[option][file]功能:用于显示指定文件的结尾,如果没有指定文件,则作为输入信息处理。常用于查看日志文件。说明:tail命令从指定点开始将文件写入注释输出。使用tail命令的-f选项可以轻松检查正在更改的日志文件。tail-ffilename会在屏幕上显示filename中最后的内容,并不断刷新,以便看到最新的文件内容。常用选项:-f循环读取。-n<行数>显示行数。16、时间相关命令datedisplaydate指定显示时间的格式:date+%Y:%m:%ddateusage:date:date[OPTION]...[+FORMAT]%Hhour(00..23)%M分钟(00..59)%S秒(00..61)%X相当于%H:%M:%S%d日(01..31)%m月(01..12)%Yfullyear(0000..9999)%F相当于%Y-%m-%dtimestamptime->timestamp:date+%stimestamp->time:Unixtimestamp是从1970年1月1日开始经过的秒数,没有考虑到闰秒。17、cal命令格式:cal[参数][月][年]功能:用于查询日历等时间信息,如果只有一个参数,表示年份(1-9999),如果有两个参数,这意味着月份和年份。常用选项:-3显示系统上月、当月、下月的日历。-j显示一年中的第几天(一年中的日期按天计算,从1月1日开始,默认显示一年中当月的天数)。-y显示当年的日历。18、查找命令格式:findpathname-options功能:用于在文件树中查找文件并进行相应的处理(可访问磁盘)。常用选项:-name按文件名查找文件。19.grep命令格式:grep[option]搜索字符串文件功能:在文件中搜索字符串,并打印出找到的行。常用选项:-i忽略大小写的差异,因此将大小写视为相同。-n顺便输出行号。-v反选,即显示没有'searchstring'内容的行。20.zip/unzip命令格式:zip压缩文件.zip目录或文件功能:将目录或文件压缩成zip格式。常用选项:-r递归处理,指定目录下的所有文件和子目录都会一起处理。21、tar命令格式:tar[-cxtzjvf]filesanddirectories...参数作用:打包/解包,不要打开,只看内容。-c为一个压缩文件创建一个参数命令(createmeans)。-x参数命令解压一个压缩文件。-t查看tar文件中的文件。-z是否也具有gzip的属性?也就是需要用gzip压缩吗?-j是否同时具有bzip的属性?即是否需要使用bzip压缩?-v在压缩过程中显示文件。这是常用的,不推荐用于后台执行。-f使用文件名,注意f后面必须紧跟文件名,不需要额外的参数。-C解压到指定目录。22.bc命令bc命令可以很方便的进行浮点运算。23.uname-r命令格式:uname[options]功能:uname用于获取计算机和操作系统的信息。常用选项:-a或-all详细输出所有信息,后面依次是内核名、主机名、内核版本号、内核版本、硬件名称、处理器类型、硬件平台类型、操作系统名称。24、如何查找特定文件find~-name"target.java":精确查找文件find~-name"target*":模糊查找文件find~-iname"target*":不区分查找文件caseofthefilenamemanfind:更多find命令使用说明25.检索文件内容grep'partial\[true\]'bsc-ll.log:检索包含某个字段的文件并显示相关行grep-o'engine\[[0-9a-z]*\]':通过barooptiongrep选择符合正则表达式的字段-v'grep':过滤包含相关字符串的内容26.统计文件内容(对列进行操作)awk'{print$1,$4}'net.txt:打印出第一列和第四列的数据awk'$1=="tcp"&&$2==1{print$0}'net.txt:打印第一列和第二列的所有数据awk'{enginearr[$1]++}END{for(iinenginearr)printi"\t"enginearr[i]}'awk'($1=="tcp"&&$2==1)||NR==1{print$0}'net.txt打印所有满足第一列和第二列加表头的数据awf-F','{print$2}net.txt:逗号作为分隔符负数27.批量替换文本内容(按行操作)sed-i's/^Str/String/'ne.txt将Str替换为Stringsed-i's/\.$/\;/'ne.txt:将逗号替换为分号sed-i's/Jack/me/g'ne.txt:将文中所有的jacks改为mesed-i'/inter/d'net.txt:删除指定行3.Linux构建环境MySQL构建常用命令安装:下载:yuminstallmysql-community-server解压:tar-xvzfmysql-5.6.38-linux-glibc2.12-i686.tar.gz移动到指定目录:mvmysql-5.6.38-linux-glibc2.12-i686/mysql查看初始化密码:cat/var/log/mysql.log|grep密码1。开启和关闭打开: servicemysqldstart关闭: servicemysqldstop重启: servicemysqldrestart2。登录2.1。密码明文  语法:mysql-u用户名-p用户密码  例子:mysql-uroot-p1234562.2。密码密文  语法:mysql-u用户名-p+回车,然后输入密码  例子:mysql-uroot-p  3.更改密码3.1。SETPASSWORD命令(需要登录)语法:mysql>setpasswordforusername@localhost=password('newpassword');例子:mysql>setpasswordforroot@localhost=password('123456');或设置密码='新密码';想设置一个简单的密码提示错误解决方法:3.2。使用sql语句更新mysql库中的user表(需要登录)  mysql>usemysql;  mysql>updateusersetpassword=password('123')whereuser='root'andhost='本地主机';  mysql>刷新权限;3.3.mysqladmin命令,明文(无需登录)  语法:mysqladmin-u用户名-p旧密码密码新密码  示例:mysqladmin-uroot-p123密码1234563.4.mysqladmin命令,密文(无需登录)  语法:mysqladmin-u用户名-p旧密码password+back输入新密码  例如:mysqladmin-uroot-p123password4.常用操作(需要登录)4.1.显示数据库列表  showdatabases;4.2.创建和删除数据库  createdatabase数据库名;  dropdatabase数据库名;4.3.显示库中的数据表  使用mysql;  显示表格;4.4.显示数据表结构  描述数据表名;5.进出口数据库(无需登录)5.1。导出所有数据库  语法:mysqldump-u用户名-p密码--all-databases>导出路径  示例:mysqldump-uroot-p123456--all-databases>/tmp/all.sql5.2。导出指定数据库  语法:mysqldump-u用户名-p密码--databases数据库名>导出路径  示例:mysqldump-uroot-p123456--databasestestdatebase>/tmp/testdatebase.sql5.3。导出指定数据库的结构(无数据)  语法:mysqldump-u用户名-p密码--no-data--databases数据库名>导出路径  示例:mysqldump-uroot-p123456--no-data--databasestestdatebase>/tmp/testdatebase_no_data.sql5.4。导出到指定数据库指定表  语法:mysqldump-u用户名-p密码--databases数据库名--tables数据表名>导出路径  示例:mysqldump-uroot-p123456--databasestestdatebase--tablest_user>/tmp/testdatebase_user.sql5.5。导出指定数据库中指定表的结构(无数据)  语法:mysqldump-u用户名-p密码--no-data--databases数据库名--tables数据表名>导出路径  示例:mysqldump-uroot-p123456--no-data--databasestestdatebase--tablest_user>/tmp/testdatebase_user_no_data.sql5.6。导出指定数据库中的指定表并设置查询条件  语法:mysqldump-u用户名-ppassword--databases数据库名--tables数据表名--where='condition'>导出路径  例:mysqldump-uroot-p123456--databasestestdatebase--tablest_user--where='user_no=1'>/tmp/mysql_user_no.sql5.7。跨服务器备份数据库  将host1服务器中的db1数据库的所有数据导入到host2中的db2数据库中,db2数据库必须存在,否则会报错  (viaTest,inthemysql5.5版本,db2只需要存在,实际生成的数据库名与db1一致;添加-C参数开启压缩传输)  语法:mysqldump--host=host1-uusername-ppassword--databasesdb1|mysql--host=host2-uusername-ppassword--databasesdb2  例如:mysqldump--host=192.168.1.101-uroot-p123456-C--databasestestdatebase|mysql--host=192.168.3.102-uroot-p123456--数据库测试日期base5.8。通过sql文件导入数据库  语法:mysql-u用户名-p密码<导入路径  例子:mysql-uroot-p123456