Difference between revisions of "Linux/C2/Redirection-Pipes/Telugu"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 454: Line 454:
 
|-
 
|-
 
|13:19
 
|13:19
|| ఈ రచనకు సహాయపడినవారు శ్రీహర్ష (అనువాదం చేసినవారి పేరు) మరియు స్రవంతి (రికార్డ్ చేసినవారి పేరు) బళ్ళారి. ధన్యవాదములు సెలవు .
+
|| ఈ ట్యుటోరియల్ ను తెలుగు లోకి అనువదించింది శ్రీహర్ష, నేను మాధురి మీ వద్ద సెలవు తీసుకుంటున్నాను. ధన్యవాదములు.  
 
|- |}
 
|- |}

Revision as of 10:55, 8 April 2015

Time Narration
00:00 రీడైరక్షన్ మరియు పైప్స్‌ గురించి చెప్పే ఈ స్పోకెన్ ట్యుటోరియల్‌కు స్వాగతం.
00:07 నేను ఉబంటు 10.04 ఉపయోగిస్తున్నాను.
00:09 మీకు లైనక్స్ ఆపరేటింగ్ సిస్టమ్ గురించి మరియు కమాండ్ల గురించి ప్రాధమిక అవగాహన ఉందని భావిస్తున్నాము.
00:16 మీకు ఆసక్తి ఉంటే, అది క్రింది వెబ్‌సైట్‌లో, మరొక స్పోకెన్ ట్యుటోరియల్ ద్వారా లభ్యమవుతుంది.
00:22 లైనక్స్ కేస్ సెన్సిటివ్ అని కూడా గమనించండి.
00:25 ప్రత్యేకంగా తెలుపబడితే తప్ప ఈ ట్యుటోరియల్‌లోని అన్ని కమాండ్లు లోయర్ కేసులో ఉంటాయి.
00:32 లైనక్స్‌లో మనం ఎక్కువ భాగం పనిని టెర్మినల్ ద్వారా చేస్తాము.
00:35 ఒక కమాండ్‌ను అమలు చేయాలంటే, సాధారణంగా మనం కీబోర్డ్ ద్వారా టైప్ చేస్తాం.
00:39 ఉదాహరణకు, తేదీ మరియు సమయం కనుక్కోవాలనుకుంటే
00:41 కీబోర్డ్ ద్వారా "date" అని టైప్ చేసి ఎంటర్ నొక్కుతాం.
00:46 మనం సాధారణంగా కీబోర్డ్ ద్వారా ఇన్‌పుట్ అందిస్తాం.
00:48 అదేవిధంగా మన కమాండ్ యొక్క అవుట్‌పుట్ కూడా టెర్మినల్ విండో వద్ద ప్రదర్శింపబడుతుంది
00:56 మనం ఏదో కమాండ్‌ను అమలు పరచి నప్పుడు కొన్ని తప్పులు దొర్లాయని కూడా అనుకుందాం.
00:59 ఉదాహరణకు మనం "cat space aaa" అని టైప్ చేసి ఎంటర్ నొక్కుదాం
01:05 aaa అనే పేరు గల ఫైల్ అసలు లేదు.
01:08 అది తెలుపుతూ ఒక ఎర్రర్ ప్రదర్శించబడుతుంది.
01:10 ఈ ఎర్రర్ కూడా టెర్మినల్ విండో పై నే కనిపిస్తుంది . అందుకే టెర్మినల్ వద్ద కూడా ఎర్రర్ రిపోర్టింగ్ చూస్తాం.
01:20 ఇన్‌పుటింగ్, అవుట్‌పుటింగ్ మరియు ఎర్రర్ రిపోర్టింగ్ అనేవి కమాండ్లకు సంబంధించిన మూడు ప్రత్యేక చర్యలు.
01:24 రీడైరక్షన్ గురించి నేర్చుకునే ముందు మనం రెండు ముఖ్యమైన విషయాలను గురించి తెలుసుకోవాలి. అవి stream మరియు file descriptor.
01:31 Bash వంటి ఒక లైనక్స్ షెల్, ఇన్ పుట్ అందుకొని, అవుట్ పుట్ ను ఒక సీక్వెన్స్ లేదా క్యారెక్టర్ల ప్రవాహంలా పంపుతుంది.
01:37 ప్రతి క్యారెక్టర్ దాని ముందు మరియు వెనుక ఉన్నదాని నుండి స్వతంత్రంగా ఉంటుంది.
01:41 IO పరిజ్ఞ్యనము ఉపయోగించడం వలన స్ట్రీమ్స్ (Streams) గ్రహించబడతాయి.
01:44 అసలైన క్యారెక్టర్ల వరుస ఫైల్, కీ బోర్డ్, విండో మొదలైన వాటిలో ఎక్కడ నుండి వచ్చింది లేదా వెళ్లింది అనేది ముఖ్యం కాదు.
01:51 లైనక్స్‌లో, తెరవ బడ్డ ప్రతి ప్రాసెస్ ఒక పూర్ణసంఖ్యతో సంబంధం కలిగి ఉంటుంది.
01:57 ఈ సంఖ్యా విలువలు file descriptorsగా పిలువబడతాయి.
02:05 లైనక్స్ షెల్స్ మూడు ప్రామాణిక I/O streams ఉపయోగిస్తాయి.
02:08 వీటిలో ప్రతి ఒక్కటీ ఒక ప్రసిద్ధి చెందిన file descriptorతో సంబంధం కలిగి ఉంది.
02:12 Stdin అనేది ప్రామాణిక ఇన్ పుట్ స్ట్రీమ్ (input stream).
02:15 అది కమాండ్లకు ఇన్‌పుట్ అందిస్తుంది.
02:17 అది file descriptor 0ను కలిగి ఉంది.
02:19 Stdout ప్రామాణిక ఔట్ పుట్ స్ట్రీమ్(output stream).
02:22 అది కమాండ్ల నుండి అవుట్‌పుట్‌‌లను చూపుతుంది. దాని file descriptor 1
02:26 stderr ప్రామాణిక ఎరర్ స్ట్రీమ్(error stream). అది కమాండ్ల నుండి ఎరర్ అవుట్‌పుట్‌‌(error output) చూపుతుంది. అది file descriptor 2ను కలిగి ఉంటుంది.
02:36s Input streams ప్రోగ్రాములకు ఇన్ పుట్ అందిస్తాయి.
02:40 అప్రమేయంగా అది టెర్మినల్ కీస్ట్రోక్స్ నుండి తీసుకుంటుంది.
02:44 Output streams టెక్స్ట్ కారక్టర్లను అప్రమేయంగా టెర్మినల్ వద్ద ముద్రిస్తాయి.
02:47 వాస్తవానికి ఈ టెర్మినల్ ఒక ASCII టైప్‌రైటర్ లేదా డిస్ ప్లే టెర్మినల్.
02:52 కానీ అది ఇప్పుడు తరచుగా ఒక గ్రాఫికల్ డస్క్ టాప్‌ పై టెక్స్ట్ విండోగా ఉంటుంది.
02:56 అప్రమేయంగా 3 streams కొన్ని ఫైళ్లతో జతకూడి ఉన్నాయని మనం చూసాము.
03:01 కానీ, లైనక్స్‌లో మనం ఈ సాధారణ రీతిని మార్చవచ్చు.
03:04 మనం ఈ 3 streamsను ఇతర ఫైళ్లతో కలుపవచ్చు.
03:07 ఈ ప్రక్రియ redirectionగా పిలువబడుతుంది.
03:09 ఇప్పుడు మనం 3 streamsలో redirection ఏ విధంగా చేస్తామో చూద్దాం.
03:14 ముందు మనం standard input ఏ విధంగా redirect చేయబడుతుందో చూద్దాం.
03:17 మనం < (left angled bracket) operator ను ఉపయోగించి ఒక ఫైల్ నుండి standardin ను redirect చేద్దాం. ఇది ఎలా చెయ్యాలో చూద్దమ్
03:22 ఒక ఫైల్‌లోని లైన్లు, పదాలు మరియు క్యారెక్టర్ల సంఖ్యను కనుగొనడానికి wc కమాండ్ ఉపయోగపడుతుందని మనకు తెలుసు.
03:28 టెర్మినల్ విండోపై wc అని టైప్ చేయండి.
03:31 ఇప్పుడు ఎంటర్ నొక్కండి.
03:32 ఏం జరుగుతుంది ? ఒక బ్లింకింగ్ కర్సర్ కనిపిస్తుంది. అంటే కీబోర్డ్ ను ఉపయోగించి ఎంటర్ చేయాలి .
03:37 ఉదాహరణకు "This tutorial is very important" అని టైప్ చేయండి.
03:46 ఇప్పుడు ఎంటర్ నొక్కండి.
03:48 ఇప్పుడు Ctrl మరియు d కీ లను కలిపి నొక్కండి.
03:52 ఇప్పుడు మనం ఎంటర్ చేసిన లైన్ల పై కమాండ్ పనిచేస్తుంది.
03:55 ఈ కమాండ్ టెర్మినల్‌ పై అవుట్‌పుట్ చూపుతుంది
03:57 ఇక్కడ "wc" కమాండ్ తరువాత ఏ పైలూ ఇవ్వబడలేదు.
04:01 అందువలన ప్రామాణిక input stream నుండి input తీసుకుంటుంది.
04:04 ప్రామాణిక input stream సాధారణంగా గా కీబోర్డ్‌తో జతకూడి ఉంటుంది. అందువలన wc కీబోర్డ్ నుండి ఇన్‌పుట్ తీసుకుంటుంది.
04:12 ఇప్పుడు మనం "wc space 'left-angled bracket" space test1 dot txt" టైపు చేస్తే,
04:19 wc మనకు ఫైల్ test1 dot txtలోని వరుసలు, పదములు మరియు అక్షరముల సంఖ్యను తెలుపుతుంది
04:27 ఇప్పుడు "wc space test1 dot txt" అని టైప్ చేయండి
04:34 మనకు అదే ఫలితం వస్తుంది.
04:37 S అయితే తేడా ఏమిటి?
04:39 మనం "wc space test1dot txt" అని రాసినపుడు, కమాండ్ test1dot txt ఫైల్‌ను తెరచి చదువుతుంది
04:46 కానీ మనం "wc space 'left-angled bracket' test1 dot txt" అని రాసినపుడు, ఏ ఫైలు తెరుచుకొనదు
04:53 బదులుగా, అది standardin నుండి ఇన్‌పుట్ తీసుకోవడానికి ప్రయత్నిస్తుంది
04:57 ఇప్పుడు మనం standardinను ఫైల్ test1dot txtకి డైరెక్ట్ చేసాం.
05:01 అందువలన కమాండ్ test1 నుండి రీడ్ చేస్తుంది.
05:04 నిజానికి standardinకు డేటా ఎక్కడ నుండి వస్తుందనేది తెలియదు.
05:10 కనుక , మనం ప్రామాణిక ఇన్ పుట్ ఎలా రీడైరక్ట్ చేయాలో చూసాం.
05:12 ఇప్పుడు మనం standard output మరియు standard errorను ఏ విధంగా రీడైరక్ట్ చేయాలో చూద్దాం.
05:17 output లేదా errorను ఒక ఫైల్కు రీడైరక్ట్ చేయడానికి రెండు మార్గాలు ఉన్నాయి :
05:20 ఉదాహరణకి n అనేది file descriptorను సూచిస్తుందనుకోండి. n సింగల్ రైట్-ఆంగల్డ్ బ్ర్యాకెట్ ఔట్ పుట్ (n single right-angled bracket output)ను file descriptor n నుండి ఒక ఫైల్‌కు బదిలీ చేస్తుంది.
05:29 మీకు ఫైల్‌ లో వ్రా యుటకు అధికారం ఉండాలి.
05:32 ఒకవేళ ఫైల్ ఉనికిలో లే కపోతే, అది సృష్టించబడుతుంది.
05:35 అది ఉనికిలో ఉంటే, సాధారణంగా ఏ విధమైన హెచ్చరిక లేకుండానే అందులో ఉన్న విషయాలు పోతాయి.
05:40 'n'డబల్ రైట్-ఆంగల్డ్ బ్ర్యాకెట్(' n 'double right-angled bracket') కూడా outputను file descriptor n నుండి ఫైల్కు రీడైరక్ట్ చేస్తుంది.
05:47 మరలా, మీకు ఫైల్‌ లో వ్రాయుటకు అధికారం ఉండాలి.
05:50 ఫైల్ ఉనికిలో లేకపోతే, అది సృష్టించబడుతుంది.
05:52 అది ఉనికిలో ఉంటే, ఉనికిలో ఉన్న ఫైల్‌కు అవుట్‌పుట్ కూర్చబడుతుంది .
05:59 n సింగిల్ రైట్ ఏంగిల్ బ్రాకెట్లోని లేదా, n డబుల్ రైట్ ఏంగిల్ బ్రాకెట్స్ లోని n file descriptorను సూచిస్తుంది.
06:05 అది వదలివేయబడితే, అప్పుడు standard output అనగా file descriptor 1 తీసుకోబడుతుంది.
06:10 అందువలన, ఒక right angle bracket మరియు 1 right angle bracket ఒకటే.
06:15 కానీ error streamను రీడైరక్ట్ చేయడానికి, మీరు 2 right angle bracket లేదా 2 double right angle bracket ఉపయోగించాలి
06:22 దీనిని మనం ప్రయోగపూర్వకంగా చూద్దాం.
06:24 గత ఉదాహరణలో మనం ఒక ఫైల్ లేదా standardin పై wc కమాండ్ యొక్క ఫలితం టెర్మినల్ విండో పై ప్రదర్శింపబడుతుందని చూసాం.
06:31 ఇది టెర్మినల్ మీద కనబడకూడదంటే ఏమి చేయాలి?
06:34 సమాచారాన్ని తరువాత ఉపయోగించుకోవడానికి, మనం దానిని ఫైల్‌లో స్టోర్ చేయాలనుకుంటాం.
06:38 అప్రమేయంగా wc దాని అవుట్‌పుట్‌ను standardoutలో రాస్తుంది.
06:42 Standardout డీఫాల్ట్ గా టెర్మినల్ విండోతో కలుపబడి ఉంటుంది.
06:45 అందవలన మనం అవుట్‌పుట్‌ను టెర్మినల్ విండోలో చూస్తాం.
06:48 అయితే మనం standardoutను ఒక ఫైల్‌కు రీడైరక్ట్ చేయగలిగితే, wc కమాండ్ నుండి అవుట్‌పుట్ ఆ ఫైల్‌లో వ్రాయబడుతుంది.
06:57 "wc space test1 dot txt 'right-angled bracket' wc_results dot txt" అని వ్రాసి.
07:09 ఎంటర్ నొక్కండి.
07:11 ఇది నిజంగా జరిగిందా అని చూడటానికి మనం wc_results dot txt by the c-a-t commandలోని విషయాలను డిస్ప్లే చెయ్యవచ్చు.
07:23 అది జరిగింది.
07:24 ఒకవేళ, మనకు అదే డైరక్టరీలో మరొక ఫైల్ test2 ఉంటే.
07:30 మనం మరలా test2 ఫైల్ తో కమాండ్‌ను ఎగ్జిక్యూట్ చేయవచ్చు. "wc space test2 dot txt 'right-angled bracket' wc_results dot txt" అని టైప్ చేద్దాం.
07:44 wc_results ఫైల్ లోని విషయాలు ఓవర్ రైట్ కావచ్చు .
07:48 మనం దీనిని చూద్దాం.
07:56 దానికి బదులుగా మనం "wc space test1 dot txt 'right-angled bracket' twice wc underscore results dot txt" అని రాస్తే
08:07 కొత్త వివరాలు అప్పటికే ఉనికిలో ఉన్న wc underscore results dot txt ఫైల్‌లో ఉన్న విషయాలను ఓవర్ రైట్ చేయవు, అది అపెండ్ చేయబడుతుంది.
08:15 మనం దీనిని కూడా చూద్దాం.
08:26 standard error ను రీడైరక్ట్ చేయడం కూడా ఇదే విధంగా చేయబడుతుంది
08:29 ఒకే ఒక్క తేడా ఏంటంటే రైట్-ఆంగల్డ్ బ్ర్యాకెట్ లేదా డబల్ రైట్-ఆంగల్డ్ బ్ర్యాకెట్ గుర్తుకు ముందు మనం standard error యొక్క file descriptor సంఖ్యను తెలుపవలసి ఉంటుంది.
08:38 aaa అనే పేరుతో ఏ ఫైలూ ఉనికిలో లేదని మనకు తెలుసు, "wc space aaa" అని వ్రాయండి
08:46 షెల్ “No such file or directory” అనే error చూపుతుంది
08:50 మనకు స్క్రీన్ పై error messages రావడం ఇష్టం లేదనుకుందాం. వాటిని మరొక ఫైల్‌కు రీడైరక్ట్ చేయవచ్చు.
08:55 దీని కోసం మనం "wc space aaa space 2 'right-anged bracket' errorlog dot txt" కమాండ్ ఇవ్వవచ్చు
09:06 ఇప్పుడు టెర్మినల్ పై ఎర్రర్ కనిపించదు, కానీ అది errorlog dot txt ఫైల్‌లో రాయబడుతుంది
09:12 మనం దీనిని "cat space errorlog dot txt" కమాండ్ ద్వారా చూడవచ్చు
09:22 "cat space bbb space 2 'right-angled bracket' errorlog dot txt" కమాండ్ ఇవ్వడం ద్వారా నేను మరొక error చేసాననుకుంటే
09:34 పాత error ఓవర్ రైట్ అయి కొత్త error కనిపిస్తుంది.
09:39 "cat space errorlog dot txt" చూడండి.
09:46 ఈ ఎర్రర్ లను అన్నిటినీ మనం లిస్ట్ చేయాలంటే ఎలా?? మనం "wc space aaa space 2 'right-angled bracket' twice errorlog dot txt" కమాండ్‌ను ఇవ్వాలి
09:58 దీనిని మనం cat commandను ఉపయోగించి పరిశీలిద్దాం.
10:06 మనం మూడు స్ట్రీమ్‌లు standard out,standard in,standard error ఏవిధంగా రీడైరక్ట్ చేయబడ్డాయో మరియు వేర్వేరుగా మ్యానిప్యులేట్ చెయ్యబడ్డాయో చూసాం. మనం streamsను ఒకేసారి మార్చగలిగినపుడు, అంటే వేర్వేరు streams జతచేసినపుడు ఈ విషయం యొక్క వాస్తవ సామర్ధ్యం నిర్ధారించబడుతుంది..
10:20 ఈ ప్రక్రియ పైప్ లైనింగ్‌గా పిలువబడుతుంది.
10:22 కమాండ్ల యొక్క వరుసలను సృష్టించడానికి Pipes ఉపయాగించబడతాయి.
10:25 ఒక పైప్, వరుసలోని ఒక కమాండ్ యొక్క అవుట్‌పుట్‌ను తరువాతి కమాండ్ యొక్క ఇన్‌పుట్‌తో కలుపుతుంది.
10:30 అది command1 vertical bar command2 hyphen option vertical bar command3 hyphen option1 hyphen option2 vertical bar command4 గా కనిపిస్తుంది
10:46 ఉదాహరణకు మనం ప్రస్తుత డైరక్టరీలోని ఫైళ్లు మరియు డైరక్టరీల మొత్తం సంఖ్యను తెలుసుకోవాలంటే
10:51 అందు కొరకు "ls space minus l" ప్రస్తుత డైరక్టరీలోని అన్ని ఫైళ్లు మరియు డైరక్టరీల జాబితాను చూపుతుంది అని మనకు తెలుసు.
10:58 మనం ఒక ఫైల్ యొక్క అవుట్‌పుట్‌ను రీడైరక్ట్ చేయవచ్చు "ls space minus l 'right-angled bracket' files dot txt" కమాండు ద్వారా.
11:08 "cat space files dot txt" రన్ చేయండి
11:14 ఇప్పుడు ప్రతిలైను ఒక ఫైల్ లేదా డైరక్టరీ యొక్క పేరు అవుతుంది
11:17 మనం ఈ ఫైల్ లోని మొత్తం వరుసలను లెక్కించాలంటే, files dot txtని ఉపయోగించవచ్చు
11:24 దీనిని మనం "wc space minus l files dot txt" కమాండ్‌ను ఉపయోగించవచ్చు
11:32 మన పనికి ఉపయోగపడినప్పటికీ దీనితో కొన్ని సమస్యలు ఉన్నాయి.
11:35 ఇక్కడ files dot txt ఉన్నట్లు దీనికి ఒక మధ్యంతర ఫైల్ మనకు అవసరమౌతుంది.
11:40 ఒకవేళ మొదటి కమాండ్ చాలా సమాచారాన్ని తయారుచేసినట్లయితే, అది డిస్క్ మెమొరీని అనవసరంగా వృధా చేయవచ్చు.
11:46 అంతేకాక మనం అనేక వరుసలను కలపాలంటే, ఈ పద్ధతి చాలా నిదానంగా చేస్తుంది
11:50 ఈ రకమైన పైప్‌లను ఉపయోగించడం ద్వరా మనం దీనిని తేలికగా చేయవచ్చు. మనం "ls space minus l 'vertical bar' wc space minus l" అని రాస్తాం
12:01 ఇదే ఫలితాన్ని మనం ఎంతో తేలికగా పొందవచ్చు.
12:06 ls కమాండ్ నుండి వచ్చిన అవుట్పుట్ wc కమాండ్ యొక్క ఇన్పుట్ అవుతుంది
12:10 పైప్‌లను ఉపయోగించి మనం కమాండ్ల యొక్క యింకా పొడవైన వరుసలను కలుపవచ్చు.
12:15 మల్టీపేజ్ డిస్ ప్లేలను చదవడం పైప్స్ యొక్క సాధారణ ఉపయోగం.
12:19 "cd space slash user slash bin" అని టైప్ చేయండి.
12:24 ఇప్పుడు మనం బిన్ డైరక్టరీలో ఉన్నాం.
12:28 "ls minus l" రన్ చేయండి
12:31 మనం అవుట్‌పుట్‌ను సరిగా చూడలేము. కానీ ఒకటి లేదా అంతకంటే ఎక్కువ పైప్ లను కలిపి ఉపయోగించితే, దానిని చూడగలం.
12:37 జాబితాను స్క్రోల్ చేయడానికి ఎంటర్ నొక్కండి.
12:41 బయటకు రావడానికి "q" నొక్కండి.
12:45 ఇవి ఫైల్స్ తో పనిచేయడంలో మనకు సహాయపడే కొన్ని కమాండ్లు.
12:48 ఇంకా చాలా కమాండ్లు ఉన్నాయి.
12:50 అంతేకాక మనం చూసిన ప్రతి కమాండ్‌కి అనేక ఆప్షన్లు ఉన్నాయి.
12:54 man' కమాండ్ ను ఉపయోగించి వీటి గురించి మరింత తెలుసుకోవాలని నేను మిమ్మల్ని ప్రోత్సహిస్తున్నాను.
12:58 కమాండ్లను నేర్చుకోవడానికి వాటిని మళ్లీ మళ్లీ ఉపయోగించడమే ఉత్తమమైన మార్గం.
13:04 దీనితో మనం ఈ ట్యుటోరియల్ ముగింపుకి వచ్చాం.
13:07 స్పోకెన్ ట్యుటోరియల్ టాక్ టు ఎ టీచర్ ప్రాజెక్ట్‌లో భాగం, దీనికి ICT ద్వారా నేషనల్ మిషన్ ఆన్ ఎడ్యుకేషన్ సహాయం అందిస్తోంది.
13:15 ఈ విషయం పై మరింత సమాచారం క్రింద ఉన్న లింక్‌లో లభ్యమవుతుంది.
13:19 ఈ ట్యుటోరియల్ ను తెలుగు లోకి అనువదించింది శ్రీహర్ష, నేను మాధురి మీ వద్ద సెలవు తీసుకుంటున్నాను. ధన్యవాదములు.

Contributors and Content Editors

Madhurig, Udaya